【问题标题】:Dialog box is appeared while loading page [duplicate]加载页面时出现对话框[重复]
【发布时间】:2014-02-04 13:53:25
【问题描述】:

我有一个 id 为对话框形式的 div,而用户可以在对话框打开时单击按钮,但问题是在页面加载时出现对话框 div,因为如果我可以设置 autoOpen 选项为真选项为假,然后对话框在 3 秒后可见,请帮助朋友。 . .

  $(function () {
         $("#create-user").click(function () {
             $("#dialog-form").dialog("open");
         });
         var name = $("#name"),
             email = $("#email"),
             password = $("#password"),
             allFields = $([]).add(name).add(email).add(password),
             tips = $(".validateTips");
         $("#dialog-form").dialog({
                 autoOpen: true,
                 height: 300,
                 width: 350,
                 modal: true,
                 buttons: {
                     "Create an account": function () {
                         //some operations      
                         $(this).dialog("close");
                     }
                 },
                 Cancel: function () {
                     $(this).dialog("close");
                 }
             },
             close: function () {
                 allFields.val("").removeClass("ui-state-error");
             }
         });
 });

【问题讨论】:

  • 将自动打开设置为 false 3 秒后出现是什么意思
  • 不是这样,但它会在点击按钮时自动显示和隐藏
  • 我无法理解您的问题,但我认为您应该将您的对话框创建代码放入 click...并删除 $("#dialog-form").dialog("open");

标签: javascript jquery jquery-ui jquery-plugins


【解决方案1】:

我认为您的对话框与加载时执行的代码是内联的。 内联代码不受您的点击“控制”。

所以在这里我稍微缩短了你的对话框(我不明白你在底部做了什么)并使它等于一个变量。页面加载时不会运行(autoopen: false)。

然后在click函数下,调用变量就可以打开对话框了。

JS

var mydialog = $("#dialog-form").dialog({
                                         autoOpen: false,
                                         height: 300,
                                         width: 350,
                                         modal: true
                                         });

var name = $("#name"),
    email = $("#email"),
    password = $("#password"),
    allFields = $([]).add(name).add(email).add(password),
    tips = $(".validateTips");


$("#create-user").click(function(){
                                   mydialog.dialog("open");
                                   });

这是一个基本的FIDDLE

【讨论】:

    猜你喜欢
    • 2014-01-06
    • 2013-09-04
    • 2014-03-07
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多