加载页面时出现对话框

时间:2014-02-04 13:53:26

标签: javascript jquery jquery-ui jquery-plugins

我有一个id是对话框形式的div,而用户可以在对话框打开的时候点击按钮工作正常,但问题是在页面加载时出现对话框div因为autoOpen选项为true如果我可以设置选项为false然后对话框在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");
             }
         });
 });

1 个答案:

答案 0 :(得分:0)

我认为讨厌的是你的对话框与在加载时执行的代码内联。 您的点击不会“控制”内嵌代码。

所以在这里我稍微缩短了你的对话(我不明白你在底部做了什么)并使它等于一个变量。加载页面时它不会运行(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