3

カスタマイズされたCSSを使用してjQuery1.8.0をダウンロードし、非常に単純なjQueryダイアログを機能させようとしていますが、現在のビューポートではなく親要素(本文)の中央に配置され、ダイアログのビューポートがスクロールされます。ボックスは中央にあります。

ウィジェットと位置の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は、jQueryWebサイトから正確にコピーされます。そして最後にそれを呼びます:

var dialog_confirm=$( '#dialog-confirm' ).dialog();
dialog_confirm.dialog('open');

これらの質問のすべての解決策は私にとってそれを解決しませんでした:ダイアログボックスは、センタープラグインを使用してビューポートに
センター画面jQueryセンター要素を配置しません

誰かがこれを解決する方法を知っていますか?これはjQueryダイアログの標準的な動作ですか?私には奇妙に思えますか、それとも私は間違っていますか?

4

2 に答える 2

4

jQuery 1.7/jQUI 1.8.17 から jQuery 1.11/jQUI 1.9.2 へのアップグレードを経験しました。(ダイアログの配置は、アップグレード前に正しく機能していました。)

私の場合、原因は、Quirks モードをトリガーしていた古い Doctype でした。これにより、jQuery$(window).heightがビューポートではなくドキュメントの高さとして返されました。HTML5 doctype ( ) に切り替えると<!doctype html>、問題が解決しました。

于 2014-02-28T19:56:13.490 に答える
2

可能であれば、1.7.x などの古いバージョンの jquery を試してみてください。これで問題が解決する場合があります。それは一般的な行動ではありません!

于 2012-09-20T21:45:21.800 に答える