2012-09-20 42 views
3

我剛剛下載jQuery 1.8.0,也與自定義的CSS,並試圖使一個非常簡單的jQuery對話框工作,但它不會集中在當前的視口,但在父元素(主體)並滾動對話框位於中心的視口。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正好從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對話框的標準行爲嗎?對我來說似乎很陌生,還是我誤會了?

+1

你可以發佈你調用'$(「你的元素」)。對話框({/*...*/);'? – TJB

+0

請給出更多的細節,使用http://jsfiddle.net粘貼你的代碼,html,js,css :) –

+0

@TJB:thx,更新了問題 – Helmut

回答

2

如果可以,請嘗試使用較舊的jQuery版本,如1.7.x ...這可能會修復它。這不是一種常見的行爲!

+1

謝謝!確實有效!所以,原因是jQuery 1.8.0。 – Helmut

4

我經歷了從jQuery 1.7/jQUI 1.8.17到jQuery 1.11/jQUI 1.9.2的升級。 (對話框定位在升級之前已經正常工作。)

在我的情況中,原因是一箇舊的文檔類型觸發了怪癖模式,導致jQuery返回$(window).height作爲文檔的高度而不是視口。切換到HTML5文檔類型(<!doctype html>)解決了問題。

+0

這解決了我的問題,因爲對話框沒有居中在窗口中。謝謝! –