JavaScript  »  Guide  »  Guida jQuery 

Animazioni personalizzate



L'ultimo metodo relativo alle animazioni è .animate(), con il quale è possibile realizzare effetti personalizzati. Nella sua forma più semplice accetta come primo argomento un oggetto JavaScript con la proprietà CSS da animare ed il suo valore finale (assoluto o relativo):

$("p").animate({
"borderWidth" : "4px", //bordo a 4 pixel
"width" : "+20px" //aumenta la larghezza di 200 pixel
});

Come è possibile vedere nell'esempio le proprietà CSS costituite da due parole (come border-width) vanno indicate nella loro notazione JavaScript (detta anche camel case)

Gli altri argomenti accettati sono la velocità, l'andamento (easing) ed una funzione di callback. Per quanto riguarda l'easing, il framework offre due opzioni predefinite, linear e swing, mentre altre possibili valori necessitano l'utilizzo di un plugin:

$("#box").animate({
"borderWidth" : "4px", //bordo a 4 pixel
"width" : "+=20px" //aumenta la larghezza di 20 pixel
},
"slow", //animazione lenta
"linear", //andamento lineare
function () {
//funzione di callback
alert("Animazione conclusa!");
}
);

Ecco questo esempio in azione.

In alternativa è possibili passare ad .animate() un secondo argomento nella forma di oggetto JavaScript contentente parametri aggiuntivi oltre a quelli accettati nella sintassi precedente. Ecco la lista completa:

  • duration: la durata dell'animazione in millisecondi o come stringa (slow, normal, fast)
  • easing: l'andamento, linear o swing (default: swing)
  • complete: una funzione da lanciare quando l'animazione è conclusa
  • queue: true o false, inserisce l'animazione nella coda generale degli effetti (default: true) oppure la esegue direttamente

Fermare e disabilitare gli effetti

Per concludere, tutti gli effetti possono essere sia disabilitati globalmente impostando su true la proprietà jQuery.fx.off, oppure bloccati "localmente" attraverso il metodo .stop(). Senza passare alcun argomento, questa funzione blocca l'effetto corrente e passa al successivo, mentre per bloccare definitivamente le animazioni (cancellandone la coda) basta passare come primo parametro true:

$("div").stop(); //ferma l'effetto corrente
$("div").stop(true); //ferma e cancella la coda

Infine, passando un secondo argomento true, l'animazione salterà direttamente allo stato finale, lanciando anche la funzione di callback.

$("div").stop(true,true); //ferma e cancella la coda

Ultimi articoli JavaScript

PhantomJS, headless browser per test con Javascript

Il tool ideale per realizzare, da terminale, operazioni in remoto su...

Creare e leggere QR Code in JavaScript

Applicazioni 'QR Code enabled' per il Web e per il mobile,...

Jquery UI Map: web-mapping con Google Maps e jQuery

Un plugin di jQuery UI per intefacciare applicaizoni Web/mobile con...

Scrollorama e Scrolldeck, slideshow d'effetto con jQuery

Plugin jQuery per ottenere Slideshow con diversi effetti di scrolling

jCanvas, un primo semplice grafico

Alla scoperta della libreria jCanvas, per semplificare il disegno e...

Altri articoli

Guide JavaScript

Guida Node.js

Il framework che permette di per usare V8, l'interprete JavaScript...

Canvas, guida ai framework

Canvas, tra gli elementi di HTML5 è forse quello di maggior impatto....

Guida Javascript: tecniche avanzate

Una guida dal taglio pratico per approfondire la programmazione a...

Altre guide

Newsletter @JavaScript

Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso JQuery e Ajax per Webmaster

03 Luglio 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti