Jquery ui jQueryUI对话框和我们最亲爱的朋友ie6

Jquery ui jQueryUI对话框和我们最亲爱的朋友ie6,jquery-ui,internet-explorer-6,jquery-ui-dialog,Jquery Ui,Internet Explorer 6,Jquery Ui Dialog,我使用jQueryUI对话框作为模式弹出对话框。它在Firefox/Chrome中工作得很好,但在ie6中却很糟糕 问题: 当我在ie6中显示对话框时,浏览器窗口会增长并自动向下滚动到底部。高度增加和自动向下滚动等于jquery对话框的高度 我可以向上滚动,然后像平常一样使用对话框,但它会使窗口变大,并使其下降的行为令人无法接受 下面是我启动窗口的方式: <div id="dialogWindow"></div> ... $(document).read

我使用jQueryUI对话框作为模式弹出对话框。它在Firefox/Chrome中工作得很好,但在ie6中却很糟糕

问题: 当我在ie6中显示对话框时,浏览器窗口会增长并自动向下滚动到底部。高度增加和自动向下滚动等于jquery对话框的高度

我可以向上滚动,然后像平常一样使用对话框,但它会使窗口变大,并使其下降的行为令人无法接受

下面是我启动窗口的方式:

<div id="dialogWindow"></div>

...

       $(document).ready(function() {
            var $dialog = $("#dialogWindow").dialog({
                autoOpen: false,
                modal: true,
                minWidth: 560,
                width: 560,
                resizable: "true",
                position: "top"
            });

            $('.addButton').click(function(e) {
                e.preventDefault();
                $('#dialogWindow').load('http://myurl');
                $dialog.dialog('open');
            });
        });

...
$(文档).ready(函数(){
变量$dialog=$(“#dialogWindow”).dialog({
自动打开:错误,
莫代尔:是的,
最小宽度:560,
宽度:560,
可调整大小:“true”,
位置:“顶部”
});
$('.addButton')。单击(函数(e){
e、 预防默认值();
$('#dialogWindow')。加载('http://myurl');
$dialog.dialog('open');
});
});

我已经在为jquery使用bgiframe插件,这是解决ie6覆盖问题的关键。但这似乎与此无关。以前有没有人见过这一点,并找到了工作

我曾经有过类似的问题

$('.addButton').click(function(e) {
    e.preventDefault();
    $('#dialogWindow').load('http://myurl');
    var y = window.pageYOffset;
    var x = window.pageXOffset
    $dialog.dialog('open');
    window.scrollTo(x, y); // horizontal and vertical scroll targets
});

上面应该做的是获取当前的滚动坐标并保存它们。对话框打开后,您可以滚动回内存中的上一个位置。应该是即时的,用户看不见。

我以前见过这种行为,它通常是由覆盖造成的。当您使用{modal:true}选项时,如果加载了插件,将创建一个覆盖并提供支持

首先,试着打开{modal:false},看看是否页面没有被吹出,然后我们知道是覆盖层

有几件事需要检查这是否是罪魁祸首

  • 检查覆盖的样式是否正确加载,您需要包括jqueryui dialog.css
  • 尝试使用position:和float:样式
  • 尝试将对话框标记移动到标记的正上方,以允许模式覆盖正确转义

感谢您的快速回复。这确实会滚动回打开的对话框,但窗口的大小仍然会增加,从而在底部产生一个巨大的空白。这个解决方案会对问题做出反应并编写代码,但并不能解决问题。包括jquery-ui.dialog.css明确地解决了这个问题。我以为.css已经在我的链接jquery-ui-1.8.1.css中定义了,但可能是不可靠的。无论如何,非常感谢!在进一步研究这个问题之后,问题所在的.ui对话框CSS的精确行是position:relative。更改为位置:绝对,ie6再次变得快乐。