Nelle scorse lezioni, abbiamo visto come animare gli elementi e come terminare le animazioni. In questa lezione, vediamo come ritardare l'esecuzione degli elementi utilizzando il metodo .delay().
Il metodo .delay() permette di ritardare di un determinato periodo di tempo l'elemento successivo in coda (approfondiamo meglio nella nota grigia, dopo l'esempio).
La sintassi è: $(selettore).delay(tempo, coda). Vediamo quali sono i parametri da utilizzare:
Vediamo un esempio:
<button id="btn">Nascondi</button>
<div id="es" style="width:200px;height:50px;background-color:green"></div>
<script>
$("#btn").click(function(){
$("#es").delay(1000).slideUp();
});
</script>Nell'esempio, l'esecuzione di .slideUp() (che abbiamo visto in questa lezione) viene ritardata di 1 sec (1000 millisecondi). Grazie ad un evento di click, quando l'utente clicca sul pulsante, viene eseguita la funzione.
Nota: per funzionare, .delay() deve essere inserito prima della funzione. Ad esempio, .delay().slideUp(). Se viene inserito dopo il metodo, non avrà effetto (non scrivere: )..slideUp().delay()
Vediamo un esempio con effetti differenti in coda, ritardati da .delay().
<button id="btn">Nascondi e mostra</button>
<div id="es" style="width:200px;height:50px;background-color:green"></div>
<script>
$("#btn").click(function(){
$("#es").delay("fast").slideUp().delay(2000).slideDown();
});
</script>Nell'esempio, il metodo .slideUp() ha un breve ritardo (con fast), mentre .slideDown() ha un ritardo di due secondi.