Jquery UI对话框覆盖高度和宽度与窗口大小不匹配

Rev*_*ant 7 overlay dialog jquery-ui

问题


Jquery UI overylay导致浏览器的滚动条显示出来.我正在使用没有任何主题的最新Jquery和Jquery UI.


<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<script src="includes/js/jquery-1.6.2.min.js" type="text/javascript"></script>
<script src="includes/js/jquery-ui-1.8.16.custom.min.js" type="text/javascript"></script>
</head>

<body>
<a href="#">open modal</a>
<div id="dialog" style="display:none;">test</div>

<script type="text/javascript">
    $('a').click(function () {      
        $('#dialog').dialog({modal: true});
    });
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这非常简单.我不知道它为什么会创建滚动条.

关于这个的任何想法?我会很高兴的.

先感谢您.

PS 我正在尝试将Jquery UI添加到我必须使用的主题中.我试图尽可能多地使用CSS规则.

现在我不太确定这个问题是否与FireFox(7.0.1)无关.当我在主题上使用模态对话框窗口(UI有主题)我正在使用并返回到test.html(没有UI主题)时,问题又出现了.如果我在两个窗口中使用(带主题)两者都可以使用主题.

有没有人遇到类似的问题?

小智 31

我也遇到过这个问题.添加以下CSS修复它.

.ui-widget-overlay {
   position: fixed;
}
Run Code Online (Sandbox Code Playgroud)


Rev*_*ant 4

我使用blockUI解决了我的问题。

如果有人遇到类似的问题,这里是另一个可能的解决方案;

//Get The Height Of Window
var height = $(window).height();
//Change Overlay Height
$(".jquery-ui-dialog-overlay-element").css('height',height);
Run Code Online (Sandbox Code Playgroud)

var width = $(window).width();如果您遇到与宽度相关的问题,您可以通过向页面添加变量并使用.css()更改覆盖层的宽度来执行相同的操作