Tutte le opzioni, gli eventi, le proprietà ed i metodi offerti dalla classe Fx e studiati nella precedente lezione sono ereditati ed estesi dalle sottoclassi Fx. Vediamo ora due rappresentazioni pratiche che ci permettono di creare animazioni agendo sulle proprietà CSS di un elemento: i costruttori Fx.Tween ed Fx.Morph.
La classe Fx.Tween permette di eseguire un'animazione agendo su una e una sola proprietà CSS di un elemento per volta. Il suo metodo start accetta la proprietà sulla quale agire e i possibili valori di inzio e fine:
var tween = new Fx.Tween('myElement', {duration: 2000});
// azioniamo un'animazione sulla proprietà 'width', per modificarla da 400px a 600px
tween.start('width', 400, 600);
// azioniamo un'animazione sulla proprietà 'height', per modificarla dal suo valore corrente fino a 400px
tween.start('height', 400);
La classe Fx.Morph svolge un compito molto simile alla classe Fx.Tween, ma, diversamente da quest'ultima, permette di agire su di una moltitudine di proprietà CSS contemporaneamente. Al metodo start può essere passato un oggetto che contiene le accoppiate proprietà/valori oppure una stringa che indica una classe CSS (gli stili di quest'ultima verranno elaborati internamente):
var morph = new Fx.Morph('myElement', {duration: 4000, transition: 'bounce:out'});
// azioniamo l'animazione ed agiamo sulle proprietà 'height' e 'width'
morph.start({
'height': [10, 100],
'width': [900, 300]
});
// applichiamo gli stili della classe css di nome 'morph' tramite un'animazione
morph.start('.morph');
Ecco ora due esempi pratici che, tramite il pulsante contrassegnato dalla scritta 'start', permettono di azionare le istanze di Fx.Tween (demo) ed Fx.Morph (demo) per creare le nostre animazioni.
Come dichiarato nelle precedenti lezioni, gli Hash svolgono un ruolo di fondamentale importanza all'interno di MooTools, cosi come i metodi ad argomento dinamico 'set' e 'get' della classe Element. Utilizzando questi ultimi in combinazione con le keyword 'tween' e 'morph' è possibile impostare rispettivamente un'istanza delle classi Fx.Tween e Fx.Morph e successivamente azionarla tramite i metodi tween e morph della classe Element. Vediamo un esempio:
var el = $('myElement');
// settiamo un'istanza della classe Fx.Tween per il nostro elemento
el.set('tween', {link: 'cancel'});
// azioniamola
el.tween('color', '#ff0', '#f00');
// settiamo un'istanza della classe Fx.Morph per il nostro elemento
el.set('morph', {duration: 4000});
// azioniamola
el.morph({height: 100, width: 200});
Come possiamo vedere, abbiamo a disposizione due modalità differenti per utilizzare le funzionalità di Fx.Tween ed Fx.Morph: tramite i costruttori o tramite i metodi della classe Element.
Non dimentichiamoci inoltre che internamente a MooTools esistono altri due shortcuts, 'fade' e 'highlight', per agire rispettivamente sui valori di opacity e dei colori di sfondo:
// fade
$('myElement').fade('out');
// highlight
$('myElement').highlight('#ddf');
In questa lezione abbiamo imparato a creare le animazioni utilizzando le classi Fx ed i metodi shortcut della classe Element. Nella prossima lezione vedremo come utilizzare le altre 3 classi basate sul costruttore Fx, ovvero Fx.Slide, Fx.Scroll ed Fx.Elements, per vedere quali caratteristiche offrono e come utilizzarle al meglio.
PhantomJS, headless browser per test con JavascriptIl tool ideale per realizzare, da terminale, operazioni in remoto su... |
Creare e leggere QR Code in JavaScriptApplicazioni 'QR Code enabled' per il Web e per il mobile,... |
Jquery UI Map: web-mapping con Google Maps e jQueryUn plugin di jQuery UI per intefacciare applicaizoni Web/mobile con... |
Scrollorama e Scrolldeck, slideshow d'effetto con jQueryPlugin jQuery per ottenere Slideshow con diversi effetti di scrolling |
jCanvas, un primo semplice graficoAlla scoperta della libreria jCanvas, per semplificare il disegno e... |
Guida Node.jsIl framework che permette di per usare V8, l'interprete JavaScript... |
Canvas, guida ai frameworkCanvas, tra gli elementi di HTML5 è forse quello di maggior impatto.... |
Guida Javascript: tecniche avanzateUna guida dal taglio pratico per approfondire la programmazione a... |
Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.
Iscriviti alla newsletter
|
|
Corso Webmaster base18 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso JQuery e Ajax per Webmaster03 Luglio 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |
|
|
Corso Webmaster base11 Giugno 2012 a Roma |