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

发布于 2024-08-26 04:44:34 字数 592 浏览 8 评论 0原文

就像我说的,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");

Like I said, IE7 (and IE6 but I don't really care IE6 that much) doesn't position dialog properly on window resize. When window is re sized, dialog goes down and down. IE8 FF Chrome Safari all work properly and position and re size dialog just fine but IE7 it re sizes the dialog but positions incorrectly. Anybody know some fix about this?

$("#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");

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

廻憶裏菂餘溫 2024-09-02 04:44:35

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

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

Ok here is a workaround I found, it's a bit slow but it works.

$(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');
    }
});
誰認得朕 2024-09-02 04:44:35

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

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

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

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

I ran into this recently and discovered a faster and more appropriate fix for IE7, simply set the body's css property to relative, accounting for the way IE7 handles the window object.

Since you are using jQuery, the following should work:

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

I also created the following to illustrate the issue and solution: http://jsfiddle.net/ewsang/7PpcV/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文