IE7 неправильно позиционирует диалог при изменении размера окна - PullRequest
1 голос
/ 24 марта 2010

Как я уже сказал, IE7 (и IE6, но меня не очень интересует IE6) не правильно позиционирует диалог при изменении размера окна. Когда размер окна изменен, диалог опускается и опускается. IE8 FF Chrome Safari все работает правильно и позиционирует и изменяет размер диалога просто отлично, но IE7 он изменяет размеры диалога, но позиционирует неправильно. Кто-нибудь знает что-нибудь исправить по этому поводу?

$("#mydialog").dialog({
    autoOpen: false,
    bgiframe: true,
    resizable: false,
    modal: true,
    title: "",
    height: 400,
    overlay: {
        backgroundColor: '#000',
        opacity: 0.5
    }
});
$(window).resize(function(){
    $('#mydialog').dialog("option", "height", $(window).height() - 40);
    $('#mydialog').dialog('option', 'position', 'center');
});
$("#mydialog").dialog("open");

Ответы [ 2 ]

1 голос
/ 05 июня 2012

Я столкнулся с этим недавно и обнаружил более быстрое и более подходящее исправление для IE7, просто установив свойство css тела на относительное, учитывая то, как IE7 обрабатывает объект окна.

Поскольку вы используете jQuery, должно работать следующее:

$('body').css("position", "relative");

Я также создал следующее, чтобы проиллюстрировать проблему и решение: http://jsfiddle.net/ewsang/7PpcV/

1 голос
/ 24 марта 2010

Хорошо, я нашел обходной путь, он немного медленный, но работает.

$(window).resize(function(){
    $('#mydialog').dialog("option", "height", $(window).height() - 40);
    $('#mydialog').dialog('option', 'position', 'center');
    if ($.browser.msie && parseInt($.browser.version) <= 7) {
        $('#mydialog').dialog('close');
        $('#mydialog').dialog('open');
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...