JQuery è un framework potentissimo, che gestisce più processi mettendoli tutti in una coda.
Ciò significa che se eseguiamo due comandi, come il fadeIn di due blocchi diversi:
1 2 |
$('#blocco_immagine').fadeIn('slow'); $('#blocco_testo').fadeIn(); |
li farà partire in coda, senza attendere necessariamente la fine del processo precedente.
Il problema si presenta quando dobbiamo necessariamente fermare il processo precedente ed eseguire quello nuovo, come nel caso di una slide o di fadeIn molteplici.
Sospendere un processo con JQuery
Ci viene in aiuto il comando stop()
. Il comando ferma ogni animazione esistente, lasciando il processo esattamente a dove è arrivato quando è stato “stoppato”.
Per mandarlo fino alla fine è sufficiente passare due parametri booleani:
.stop( [ pulisci coda ], [ salta alla fine] )
Ecco un esempio d’uso:
1 2 3 |
$("#ferma").click(function(){ $('#blocco_testo').stop(true, true); }); |
Il primo stabilisce se fermare tutte le code successive (false di default).
Il secondo invece stabilisce se fermare la coda in azione o meno (false di default).