jQuery offre un modo semplice e veloce per animare gli elementi HTML all'interno della pagina. In questa lezione, vediamo come funziona il metodo .animate().
Il metodo .animate() permette di animare gli elementi all'interno delle pagine HTML.
La sintassi è: $(selettore).animate({proprietà}, tempo, funzione). Vediamo i parametri da utilizzare:
fontSize (grandezza del testo) o width (larghezza). Devono essere nel formato degli oggetti JavaScript, quindi: {proprietà: "valore", proprietà: "valore",...}.Vediamo un esempio di un <div>, cambiando la sua larghezza.
<div id="es" style="width:200px;height:50px;background-color:lightgreen">Ciao</div>
<script>
$("#es").animate({width: "300px"},"slow");
</script>
Prova
Il parametro proprietà accetta qualsiasi proprietà CSS numerica. Basta sostituire il "-" con la maiuscola della parola successiva, ad esempio: font-size diventa fontSize, padding-left diventa paddingLeft, e così via.
<div id="es" style="width:200px;height:50px;background-color:lightgreen">Ciao</div>
<script>
$("#es").animate({
width: "300px",
fontSize: "20px",
marginLeft: "50px",
paddingLeft: "50px"
}, 2000);
</script>
Prova
Si possono anche eseguire animazioni multiple, una dopo l'altra:
<div id="es" style="width:200px;height:50px;background-color:lightgreen">Ciao</div>
<script>
$("#es").animate({width: "300px"}, "fast");
$("#es").animate({height: "300px"}, "slow");
$("#es").animate({fontSize: "30px"}, 1000);
$("#es").animate({width: "100px"});
</script>
Prova
Nelle proprietà CSS, si possono anche utilizzare i seguenti valori predefiniti:
hide, che nasconde la proprietà. Ad esempio, se è la larghezza (width), l'elemento verrà nascosto.show, che mostra la proprietà. Ad esempio, se è la larghezza (width), l'elemento verrà mostrato.toggle, che mostra e nasconde la proprietà alternativamente.Vediamo un esempio per capire:
<button>Apri/Chiudi il div</button>
<div id="es" style="width:200px;height:50px;background-color:lightgreen">Ciao</div>
<script>
$("button").click(function(){
$("#es").animate({width: "toggle"}, "slow");
});
</script>
Prova