我刚刚下载了jQuery 1.8.0,也使用了自定义CSS,我试图让一个非常简单的jQuery对话框工作,但是它不会在当前视口中居中,而是在父元素(正文)中并滚动视口对话框位于中心位置。
我包含了widget和position js文件,并检查了路径是否正确。这就是我所拥有的:
<script src="js/js/jquery-1.8.0.min.js"></script>
<script src="js/js/jquery-ui-1.8.23.custom.min.js"></script>
<script src="js/js/jquery.ui.position.js"></script>
<script src="js/js/jquery.ui.widget.js"></script>
HTML:
<div id="dialog-confirm" title="Empty the recycle bin?">
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>These items will be permanently deleted and cannot be recovered. Are you sure?</p>
</div>
HTML完全是从jQuery网站复制的。最后称之为:
var dialog_confirm=$( '#dialog-confirm' ).dialog();
dialog_confirm.dialog('open');
这些问题中的所有解决方案都没有为我解决:
Dialog box not positions center screen
jQuery center element to viewport using center plugin
有人知道如何解决这个问题吗?这是jQuery对话框的标准行为吗?对我来说似乎很奇怪,或者我错了?
答案 0 :(得分:4)
我经历了从jQuery 1.7 / jQUI 1.8.17到jQuery 1.11 / jQUI 1.9.2的升级。 (升级前对话框定位工作正常。)
在我的情况下,原因是一个旧的doctype触发了怪癖模式,导致jQuery返回$(window).height
作为文档的高度而不是视口。切换到HTML5 doctype(<!doctype html>
)修复了问题。
答案 1 :(得分:2)
如果可以,请尝试使用较旧的jquery版本,例如1.7.x ......这可能会解决它。这不是一种常见的行为!