Peut-on utiliser delay () avec l’interface utilisateur de jQuery dialog.open ()?

J’ai ce code en ligne dans le document prêt

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

Je sais comment utiliser setTimeout, comme Comment retarder l’ouverture automatique de la fenêtre de la boîte de dialog Modal dans JQuery 1.5.x? donc pas besoin de poster un exemple setTimeout.

Je me demandais, pour mon éducation personnelle, quelle serait la syntaxe correcte si je voulais utiliser .delay au lieu de setTimeout

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

ou similaire

Dans ce cas, ce que je gagnerais n’est pas évident car je devrais $("#dialog_form").dialog("open"); dans la fonction appelée par setTimeout donc pas besoin de fermetures ni de retrouver $ (this), mais dans d’autres situations, je peux imaginer que l’enchaînement soit plus intelligent. Les commentaires sur les avantages et les inconvénients sont les bienvenus

 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... }) } 

OU

 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... }) }