IE7在窗口调整大小时没有正确定位对话框

时间:2010-03-24 08:51:00

标签: jquery internet-explorer-7 dialog resize window

就像我说的那样,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 个答案:

答案 0 :(得分:1)

好的,这是我发现的一种解决方法,它有点慢但是有效。

$(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');
    }
});

答案 1 :(得分:1)

我最近遇到了这个问题,发现了一个更快,更合适的IE7修复程序,只需将body的css属性设置为relative,考虑IE7处理窗口对象的方式。

由于您使用的是jQuery,因此以下内容应该有效:

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

我还创建了以下内容来说明问题和解决方案:http://jsfiddle.net/ewsang/7PpcV/