2013-03-02 122 views
0

我有一個div容器,最初在頁面加載時隱藏。內部的DIV我有了我的對話內容的容器:jQuery Ui對話框不顯示

<div style="display:none;" id="dialog-container"> 
    content 
</div> 

我的問題是,當用戶點擊一個鏈接,打開的對話框:

jQuery("#dialog-link").click(function() { 

    //shows modal box 

    jQuery("#dialog-container").dialog({ 
     width:"820", 
     resizable: false, 
     modal: true, 
     buttons: { 
      Ok: function() { 
       jQuery(this).dialog("close"); 
      } 
     } 
    }); 

});//close click 

疊加顯示出來,但對話本身沒有可見的地方。我究竟做錯了什麼? div最初隱藏的事實與它有什麼關係?

謝謝。

UPDATE

我發現這個問題,但還沒有一個解決方案。 .ui-對話框類有一個'top'屬性,它太高了,所以對話框從屏幕上打開。

+0

可能存在的jQuery UI的版本之間的差異1.8.18:http://jsfiddle.net/ SAYT8/vs. 1.9.2:http://jsfiddle.net/5CCxh/使用1.9.2對話框顯示,但不是1.8.18 – inancsevinc 2013-03-02 21:15:11

+0

這很奇怪我正在使用版本1.9.2 – Dmitri 2013-03-02 21:44:41

回答

0

確保您顯示對話框容器去除display:none

jQuery("#dialog-link").click(function() { 


//shows modal box 

    jQuery("#dialog-container").dialog({ 
    width:"820", 
    resizable: false, 
    modal: true, 
    buttons: { 
     Ok: function() { 
      jQuery(this).dialog("close"); 
     } 
    } 
    }); 

    jQuery("#dialog-container").show(); //make visible 
}); 

工作實例:http://jsfiddle.net/

+0

仍然不適用於某些原因。還有什麼我可以嘗試? – Dmitri 2013-03-02 21:45:07

+0

@Dmitri如果您發佈了完整的html頁面,我會檢查出來。可能要等到晚些時候,但我很樂意看一看。 – 2013-03-02 22:06:56

+0

感謝您的回覆,我發現問題,出於某種原因,jQuery .ui-dialog的'top'屬性值非常高,因此容器打開了頁面。 – Dmitri 2013-03-02 22:11:09