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