2012-12-08 68 views
1
然而,

我的jQuery UI的模態對話框顯示了屏幕中央比如從一個按鈕單擊事件顯示的時候,如果我的document.ready中打開它,在在下面的loginDialog()方法中,它顯示在可滾動窗口的底部。

我懷疑這個問題與在對話框打開調用之前在document.ready中加載多個圖像有關。屏幕的可視部分被禁用,但對話框位於滾動窗口的底部。有趣的是,對話框位置選項

position: 'top', 

在document.ready中似乎不起作用。

$(document).ready(function() { 

     serverGetMenu(); 
     getPhotos(); 

     $("#loginDialog").dialog({ 
      ............. 
     }); 

     if (isLoginRequest()) { 
      loginDialog(); 
     } 
    }); 

如何在document.ready期間或之後正確放置對話框?

+0

你就不能把'對話框()'在'getPhotos()'函數的底部? – Sparky

回答

0

問題已解決:原來我的jquery-ui-1.9.2.custom.css是不正確的。

我原來的ThemeRoller'build'沒有包含對話窗口部件,所以我創建了一個新的版本來包含對話框部件。然後,我用新的替換了現有的jquery-ui-1.9.2.custom.js,但是我沒有更新jquery-ui-1.9.2.custom.css文件。

由於我缺乏jQuery UI的使用經驗,我沒有意識到,雖然我的Dialog工作正常,但它的樣式與本應該是一點點關係,我不得不添加一些樣式來糾正未成年人的問題。正確的jquery-ui-1.9.2.custom.css也解決了我必須解決的樣式「問題」。

我覺得很有趣的是,缺失的對話框樣式類並沒有真正體現那麼大一個「問題」,直到我試圖表明我的對話框中的document.ready。我從來不知道造型會造成這種奇怪的問題,並且很難追查到。