可以将delay()与jQuery UI dialog.open()一起使用吗?

我已将此代码内联到文档中

if($.cookie('form_seen') == null) { $("#dialog_form").dialog("open"); } 

我知道如何在JQuery 1.5.x中使用如何延迟自动打开modal dialog窗口的 setTimeout ? 所以不需要发布一个setTimeout示例。

我想知道我的个人教育,如果我想使用.delay而不是setTimeout,那么正确的语法是什么

 if($.cookie('form_seen') == null) { $("#dialog_form").delay(5000).dialog("open"); } 

或类似的

在这种情况下,由于我必须包装$("#dialog_form").dialog("open");我不会明白我会得到什么$("#dialog_form").dialog("open"); 在setTimeout调用的函数中,所以不需要闭包或找回$(this),但在其他情况下,我可以想象链接变得更聪明。 对利弊的评论非常受欢迎

 if($.cookie('form_seen') == null) { $("#dialog_form") .delay(5000) .queue(function(next){ $(this).dialog("open"); next(); // take this function out of queue aka dequeue aka notify done // so the next function on the queue continues execution... }) } 

要么

 if($.cookie('form_seen') == null) { $("#dialog_form") .delay(5000) .queue(function(){ $(this) .dialog("open") .dequeue(); // take this function out of queue aka dequeue aka notify done // so the next function on the queue continues execution... }) }