【问题标题】:jquery Ui Dialog can't fadeout twicejquery Ui Dialog不能淡出两次
【发布时间】:2010-10-03 07:13:22
【问题描述】:

jquery 有个奇怪的问题 我有这个 div 显示 ajaxified 操作的消息,我希望消息在 5 秒后消失.. 它第一次工作.. 但是当我在同一页面中再次触发操作时,对话框出现但永远不会得到无论如何淡出,除非我按 X 按钮关闭它.. 代码是

    jQuery( "#dialog" ).dialog({
    open: function(event, ui) {
setTimeout(function(){
    jQuery("#dialog").dialog("close");
}, 5000);

    },
hide: "fadeOut"
});

它包含在一个 jsp 页面中,该页面包含在所有 ajax 页面中。有什么问题??

【问题讨论】:

    标签: jquery ajax jquery-ui dialog


    【解决方案1】:

    查看来自 nemikor 的 this 博客条目(如 jquery-dialog page 中所述)

    每次调用该代码 sn-p 时,jquery 都会尝试创建一个 ID 为 dialog 的新 dialog-instance。在启动时创建该对话框,并将autoOpen 选项设置为 false,并通过调用 dialog('open') 来显示该对话框

    example on jsfiddle

    【讨论】:

    • 是的,我得到了这个..这就是为什么我删除了它在关闭时创建的 div.. 但你的解决方案更简洁..谢谢人 :)
    【解决方案2】:

    无论如何我都明白了.. 我应该删除对话框 div 每次它关闭时看起来很脏但效果很好

    【讨论】:

      【解决方案3】:

      添加 autoOpen:false 并每次手动打开。这段代码很简单,应该可以正常工作。将“ELEMENTID”替换为您的对话框的 ID。

      $("#ELEMENTID").dialog({
          autoOpen: false
      });
      $("#ELEMENTID").dialog("open");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-12
        • 1970-01-01
        • 1970-01-01
        • 2012-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-01
        相关资源
        最近更新 更多