Ho utilizzato il metodo stop(true, true)
di jQuery per cancellare le animazioni in esecuzione in modo che il successivo inizi immediatamente. Ho notato che il primo parametro, clearQueue
, cancella l'intera coda di animazione ma il secondo parametro, jumpToEnd
, salta alla fine dell'animazione attualmente in esecuzione e non a quelli che sono stati rimossi dalla coda. C'è un modo per avere chiaro e saltare alla fine di tutte le animazioni in coda?jQuery stop (true, true) per passare alla fine di tutte le animazioni in coda
Ho finito per incatenare alcune chiamate stop(false, true)
, ma questo gestirà solo 3 animazioni in coda, ad esempio.
$(this)
.stop(false, true)
.stop(false, true)
.stop(false, true)
.addClass('hover', 200);
Edit:
ho finito di aggiungere il mio metodo, stopAll
, come per la risposta di Ates Goral:
$.fn.extend({ stopAll: function() {
while (this.queue().length > 0)
this.stop(false, true);
return this;
} });
$(this).stopAll().addClass('hover', 200);
Spero che qualcun altro trova questo utile.