2010-11-19 165 views
2

我有一個JQuery UI對話框,當用戶訪問我的網站時會自動打開,因此我們可以以模態方式顯示「Under Construction」對話框。下面是對話的代碼:JQuery UI對話框在顯示之前顯示「Dialog Div」

var $dialog = $('#dialog'); 
if ($.cookie("MySitePreviewCookie") != "firstView") 
$(function() { 
    $.cookie("MySitePreviewCookie", "firstView", { expires: 180, path: '/' }); 
    // Show Dialog Div 
    $dialog.dialog({ 
    autoOpen: true, 
    resizable: false, 
    modal: true, 
    width: 600, 
    buttons: { 
     "Skip This": function() { 
     $(this).dialog("close"); 
     } 
    } 
    }); 
    }); 
else 
    $(function() { 
    // HIDE Dialog Div 
    $dialog.dialog({ 
    autoOpen: false, 
    resizable: false, 
    modal: true, 
    width: 600, 
    buttons: { 
     "Skip This": function() { 
     $(this).dialog("close"); 
     } 
    } 
    }); 
}); 

這裏是對話框標記:

<div id="dialog" title="Welcome to MySite" class="dialogStyles"> 
    <p> 
    Our site is still under construction but please look around and get a feel for what 
    we plan to offer. If you would like to sign-up for our newsletter, please enter 
    your email address below and click the <strong>Sign-up for Newsletter</strong> button. 
    </p> 
    <p class="validateTips"></p> 
    <br /> 
    <input type="text" id="ccEmailAddress" name="ccEmailAddress" class="required email" 
     style="width: 250px" /> 
    &nbsp; &nbsp;<input id="btnAddNewsletter" class="submit" type="submit" value="Sign- up for Newsletter" /> 
</div> 

對話框的偉大工程。我有CSS來設計它,它看起來很棒,除了事實上,當頁面第一次加載的時候,有一堆圖片顯示它正在加載的頁面(主頁)。它顯示(位於頁面的最底部),然後對話框顯示出來,一切正常。我怎樣才能讓它停止在頁面上顯示DIV而不影響對話框?

+0

出於好奇,爲什麼你創建一個對話框,如果你不打算顯示它(我假設你只想顯示它在網站的第一個視圖)?你甚至需要那個'else'語句嗎? – 2010-11-19 18:44:33

+0

您是否使用過'style =「display:none」' – zod 2010-11-19 18:41:59

+0

這個div是什麼? – 2010-11-19 18:44:13

回答

1

這個問題並沒有真正的直接答案,所以爲了讓它更容易,並希望那些正在瀏覽與此類似的答案的人,這將適合您的情況。 Zod是正確的...使用<style type="text/css"> .dialog {display:none}</style>將防止對話框中的任何輸入或文本提前顯示在頁面上。此外,使用「文檔準備」應該有助於防止文檔顯示任何內容,直到需要加載的所有內容都準備就緒。