113 of 119 menu

Metodo animate

Il metodo animate consente di creare effetti di animazione per varie proprietà CSS. L'unico parametro obbligatorio è un oggetto con le proprietà CSS, simile a quello che passiamo al metodo css. Molte proprietà che hanno valori non numerici o multipli non possono essere animate con le funzionalità di base di jQuery (ad esempio background-color). Inoltre, i nomi abbreviati delle proprietà CSS non sono sempre supportati, ad esempio font - invece bisogna usare fontSize o font-size. Prima dei valori si può mettere '+=' o '-=', in tal caso il valore specificato verrà aggiunto o sottratto dal valore corrente della proprietà. Invece dei valori numerici si può anche mettere show, hide o toggle. Tutti gli effetti jQuery, incluso animate, possono essere disattivati globalmente, utilizzando l'impostazione jQuery.fx.off = true, che imposta il valore della durata a 0.

Sintassi

Il primo parametro dell'animazione è un oggetto con le proprietà CSS e i loro valori nel formato chiave: valore, che intendiamo animare. Gli altri parametri sono considerati opzionali. Il secondo parametro - definisce la durata dell'animazione in millisecondi, 400ms di default. Il terzo parametro è la funzione di easing per la transizione (di default è swing), e il quarto - una funzione di callback, che verrà eseguita al termine dell'animazione:

.animate(proprietà, [durata ], [funzione di easing ], [funzione di callback ]);

Il tempo può essere impostato non solo in millisecondi, ma anche con le parole chiave slow (600ms) e fast (200ms), maggiore è il valore, più lenta è l'animazione. Si può passare al metodo come secondo parametro varie opzioni, sotto forma di oggetto JavaScript, contenente coppie chiave: valore:

.animate(proprietà, opzioni);

Ad esempio, impostiamo per le proprietà CSS width e height il valore toggle. La durata su 5000ms, passiamo le funzioni di easing sotto forma di oggetto, per la larghezza sarà una funzione lineare, mentre per l'altezza - easeOutBounce, inoltre al termine dell'animazione verrà eseguita una volta la funzione (vedi chiave complete), che dopo l'elemento con #test posizionerà un div con la scritta 'Animation complete.':

$('#test').animate({ width: 'toggle', height: 'toggle' }, { duration: 5000, specialEasing: { width: 'linear', height: 'easeOutBounce' }, complete: function() { $(this).after('<div>Animation complete.</div>'); } });

Nella tabella seguente sono riportate le proprietà e i metodi dell'oggetto options e la loro descrizione:

Nome Descrizione
duration Durata dell'animazione in millisecondi - stringa o numero. 400ms di default.
easing Definisce quale funzione di easing utilizzare. swing di default.
queue Valore booleano o stringa. true di default. Specifica se mettere l'animazione in coda. Con valore false l'animazione inizierà immediatamente. Se il parametro viene passato come stringa, l'animazione verrà messa nella coda, rappresentata da questo parametro. Quando si utilizza una coda con un nome personalizzato, l'animazione non partirà automaticamente, per avviarla - utilizzare dequeue('nomedellacoda').
specialEasing Qui puoi passare un oggetto, in cui le chiavi sono le proprietà CSS, e i valori - le corrispondenti funzioni di easing.
step Funzione che viene chiamata per ogni proprietà animata di ogni elemento animato. Permette di modificare l'oggetto Tween per cambiare il valore della proprietà prima che venga impostato. Accetta come parametri il valore corrente tween e l'oggetto Tween.
progress Funzione, chiamata dopo ogni passo dell'animazione, solo una volta per ogni elemento indipendentemente dal numero di proprietà animate. La funzione accetta tre parametri animation (sotto forma di promise), progress (numero da 0 a 1) e remainingMs (numero di millisecondi rimanenti).
complete Funzione, chiamata una volta dopo la fine dell'animazione dell'elemento. La funzione accetta animation (sotto forma di promise).
start Funzione, che viene chiamata quando l'animazione dell'elemento inizia. La funzione accetta animation (sotto forma di promise) e jumpedToEnd (Valore booleano. Se true, allora l'animazione viene automaticamente completata).
done Funzione, che viene chiamata quando l'animazione dell'elemento termina (la sua promise è soddisfatta con successo). La funzione accetta animation (sotto forma di promise) e jumpedToEnd (Valore booleano. Se true, allora l'animazione viene automaticamente completata).
fail Funzione, che viene chiamata quando l'animazione dell'elemento termina con un errore (la sua promise è soddisfatta con errore). La funzione accetta animation (sotto forma di promise) e jumpedToEnd (Valore booleano. Se true, allora l'animazione viene automaticamente completata).
always Funzione, che viene chiamata quando l'animazione dell'elemento viene completata o fermata senza completamento (la sua promise è soddisfatta con successo o con errore). La funzione accetta animation (sotto forma di promise) e jumpedToEnd (Valore booleano. Se true, allora l'animazione viene automaticamente completata).

Esempio

Alla pressione del pulsante #left, spostiamo il quadrato verde a sinistra, e sul pulsante #right a destra di 50px, impostiamo anche la durata su 600ms - con il comando slow:

<button id="left">left</button> <button id="right">right</button> <div class="block"></div> div { position: absolute; background-color: green; left: 50px; width: 100px; height: 100px; margin: 5px; } $('#right').click(function() { $('.block').animate({'left': '+=50px'}, 'slow'); }); $('#left').click(function() { $('.block').animate({'left': '-=50px'}, 'slow'); });

Vedi anche

  • metodo show,
    che mostra fluidamente gli elementi
  • metodo stop,
    che consente di fermare un'animazione avviata
  • metodo delay,
    che imposta un ritardo nell'esecuzione degli eventi
  • proprietà jQuery.fx.off,
    che consente di disabilitare globalmente l'animazione
  • selettore animated,
    che seleziona gli elementi che in questo momento sono coinvolti in un'animazione
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta