就像我说的那样,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");
答案 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/