JavaScript  »  Guide  »  Guida MooTools 

Animazioni di base con le classi Fx.Tween e Fx.Morph



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

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

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.

Element Shortcuts

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.

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