JQuery UI对话框在显示之前显示“Dialog Div”

时间:2010-11-19 18:34:31

标签: jquery-ui dialog

我有一个JQuery UI对话框,当用户访问我的网站时会自动打开,因此我们可以模态显示“正在构建”对话框。这是对话框的代码:

    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而不影响对话框?

1 个答案:

答案 0 :(得分:1)

这个问题并没有真正直接的答案,所以为了让人们更容易,希望那些正在浏览类似答案的人,这将适合你的情况。 Zod是正确的...使用<style type="text/css"> .dialog {display:none}</style>将阻止对话框中的任何输入或文本提前显示在页面上。此外,使用“文档就绪”应该有助于防止文档显示任何内容,直到所有需要加载的文件都准备就绪。