jquery Ui Dialog不能淡出两次

时间:2010-10-03 07:13:23

标签: jquery ajax jquery-ui dialog

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

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

    },
hide: "fadeOut"
});

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

3 个答案:

答案 0 :(得分:2)

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

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

example on jsfiddle

答案 1 :(得分:1)

无论如何我得到了..我应该删除对话框div每次关闭看起来很脏但是得到了一个好结果

答案 2 :(得分:0)

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

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