Lezione #id-jq-2013-0013#
In JQuery possiamo fermare ogni effetto o animazione in corso con il metodo stop()..
Vediamo il seguente codice:
<!DOCTYPE html> <html> <head> <title>Titolo del documento</title> <script type="text/javascript" src="js/jquery-2.0.3.js"></script> <script> $(document).ready(function(){ $("#flip").click(function(){ $("#panel").slideDown(5000); }); $("#stop").click(function(){ $("#panel").stop(); }); }); </script> <style type="text/css"> #panel,#flip { padding:5px; text-align:center; background-color:#e5eecc; border:solid 1px #c3c3c3; } #panel { padding:50px; display:none; } </style> </head> <body> <button id="stop">Stop</button> <br><br> <div id="flip">Clicca per avviare l'animazione!</div> <div id="panel">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </div> </body> </html>
La riga che ci interessa è:
$("#stop").click(function(){ $("#panel").stop(); });
La sintassi completa è:
$(selettore).stop(stopAll,goToEnd);
Il parametro – stopAll – si utilizza se abbiamo una serie di animazioni da eseguire in una sequenza prestabilita. Può avere un valore:
– false (default): solo l’animazione corrente viene fermata, se vi sono animazioni in coda continueranno.
– true: l’animazione corrente e quelle in coda verranno femate.
Il parametro – goToEnd –
– false (default): viene fermata l’animazione corrente senza arrivare alla fine.
– true: viene fermata l’animazione corrente e visualizzato direttamente “l’ultimo fotogramma”.