Alla base degli effetti generati da aculous troviamo i moduli JavaScript di Effect (il file
effects.js
): Effect.Opacity
, Effect.Scale
, Effect.Morph
, Effect.Move
, Effect.Highlight
ed Effect.Parallel
. Altri effetti, detti combinati, vengono poi generati dalla combinazione degli effetti elencati sopra! La sintassi per avviare un effetto (invocato da una funzione JavaScript oppure da un evento) è la seguente:new Effect.NomeEffetto(elemento,param_richiesti,param_opzionali);
Dove:
elemento
: è la stringa che identifica l'id dell'elemento, oppure il riferimento all'oggetto DOM dell'elemento;param_richiesti
: è una stringa con i parametri attesi dall'effetto, e può non essere presente, dipende dall'effetto;param_opzionali
: è una stringa di parametri opzionali utile a personalizzare l'effetto invocato;
Nella lista che segue è possibile osservare i parametri che una funzione di effetto può necessariamente richiedere (
param_richiesti
):duration
: specifica, in secondi, la durata dell'effetto. Il valore passato di default all'effetto è 1.0;fps
: specifica il numero di frame per secondi (fps) da applicare all'effetto. Il valore passato di default è 25, .il massimo valore è 100;transition
: permette di impostare una funzione per il tipo della transizione, descrive come deve avvenire il passaggio dal primo all'ultimo frame dell'animazione (regolando un parametro che va da 0 a 1). Le possibili funzioni sono:Effect.Transitions.sinusoidal
(passata di default all'effetto),Effect.Transitions.linear
,Effect.Transitions.reverse
,Effect.Transitions.wobble
edEffect.Transitions.flicker
;from
: imposta il punto iniziale della transizione;to
: imposta il punto finale della transizione;sync
: specifica (confalse
) se l'effetto deve aggiornare i frame dell'animazione automaticamente (comportamento applicato di default) oppure si deve sincronizzare (contrue
) con l'istanza di un altro effetto (e usare, quindi,Effect.Parallel
);queue
: permette di specificare con una stringa (che può esserefront
oppureend
) l'ordine dell'effetto all'interno della coda degli effetti;delay
: imposta il ritardo (in secondi) da applicare alla partenze dell'effetto;direction
: imposta in che direzione deve avvenire la transizione, può essere:top-left
,top-right
,bottom-left
,bottom-right
, ecenter
(il valore di default). Questa proprietà può essere specificata solo per gli effettiGrow
eShrink
;
Le proprietà appena viste possono poi essere aggiunte (attraverso funzioni JavaScript) anche al verificarsi di particolari eventi:
beforeStart
: la funzione specificata viene chiamata prima di iniziare l'effetto;beforeUpdate
: la funzione specificata viene chiamata prima di aggiornare l'animazione dell'effetto;afterUpdate
: la funzione specificata viene chiamata dopo l'aggiornamento dell'animazione dell'effetto;afterFinish
: la funzione specificata viene chiamata al termine dell'effetto;
Per finire, ogni oggetto che sintetizza un effetto è accompagnato dalla seguente lista di variabili:
effect.element
: elemento a cui è applicato l'effetto;effect.options
: la lista delle opzioni date all'effetto;effect.currentFrame
: il numero di frame già visualizzati;effect.startOn
: il tempo (in ms) che è passato dall'avvio dell'effetto;effect.finishOn
: il tempo (in ms) che manca al termine dell'effetto;effect.effects[]
: contiene l'array degli effetti;
Nei prossimi articoli osserveremo da vicino i principali effetti della libreria!
Nessun commento:
Posta un commento