我已将此代码内联在文档就绪
中if($.cookie('form_seen') == null) {
$("#dialog_form").dialog("open");
}
我知道如何使用像How to Delay automatic opening of Modal Dialog box window in JQuery 1.5.x?这样的setTimeout,所以不需要发布一个setTimeout示例。
我想知道我的个人教育,如果我想使用.delay而不是setTimeout,那么正确的语法是什么
if($.cookie('form_seen') == null) {
$("#dialog_form").delay(5000).dialog("open");
}
或类似的
在这种情况下,由于我必须将$("#dialog_form").dialog("open");
包装在setTimeout调用的函数中,因此不需要闭包或找回$(this),但是在其他情况下我可以想象链更聪明。
非常欢迎评论利弊
答案 0 :(得分:9)
if($.cookie('form_seen') == null) {
$("#dialog_form")
.delay(5000)
.queue(function(next){
$(this).dialog("open");
next(); // take this function out of queue a.k.a dequeue a.k.a notify done
// so the next function on the queue continues execution...
})
}
OR
if($.cookie('form_seen') == null) {
$("#dialog_form")
.delay(5000)
.queue(function(){
$(this)
.dialog("open")
.dequeue(); // take this function out of queue a.k.a dequeue a.k.a notify done
// so the next function on the queue continues execution...
})
}