MoebiusMania

Tutorial, articoli e curiosità sul web e dintorni

logo jQuery

Tutorial: Animare oggetti con jQuery

Scritto da Salvo il 25 marzo 2010 con 1 commento

Tags: , , ,

Nel primo tutorial che ho pubblicato tempo fa su jQuery, abbiamo accennata molto velocemente a una funzione che permetteva di animare da codice degli elementi Html, oggi rivedremo quella funzione con un po’ più di dettagli e ne analizzeremo altre che ci permetteranno di creare effetti animati per le nostre pagine web e renderle più “cool” ;) .

Se non avete mai usato le funzioni di animazione messe a disposizione da jQuery questo tutorial vi fornirà le basi per poterci smanettare!

Software richiesto

Code editor a scelta (AptanaCodaDreamweaver, ecc..)

Prerequisiti

I due precedenti tutorial su jQuery (primosecondo)

Argomenti trattati

Funzioni animate(), hide() e show() di jQuery, proprietà Css “display”.

1. Accendiamo jQuery

Per questo tutorial metto a disposizione un file di inizio e uno di fine in uno zip scaricabile Animazioni con jQuery . Nel file di inizio troverete una pagina Html basilare con alcuni elementi grafici gia inseriti che animeremo nel corso del tutorial.

Se invece volete utilizzare queste tecniche su una vostra pagina preesistente dovrete innanzitutto “installare” jQuery sulla vostra pagina, se non sapete come fare vi ricordo che ho già pubblicato un tutorial a riguardo.

2. I CSS di partenza

Una cosa bella di Javascript e jQuery è che “continuano” quello che abbiamo iniziato con i Css, quindi spesso potreste notare che per ottenere effetti interessanti è bene iniziare proprio da questo linguaggio. Se vogliamo mostrare qualcosa prima dobbiamo nasconderlo, se vogliamo fare entrare qualcosa prima dobbiamo mandarlo fuori:

 display: none /* Rende un oggetto non visibile */
 right: -100px /* Posizionamento "negativo" */

La proprietà “display” non va confusa con l’opacità, non rende solo trasparente un elemento ma fa in modo che non venga proprio elaborato visivamente, quindi gli elementi circostanti si comporteranno come se questo non ci fosse ; mentre usando dei valori negativi di posizione ad oggetti con posizionamento assoluto o fisso li mandiamo fuori dallo schermo senza cancellari, che è una grande cosa!

3. Animare

Ok ora passiamo allo script, all’interno della funzione principale scriviamo questa riga di codice:

// Il metodo animate()
$("#oggetto").animate({"right":"5px"},1000);

La funzione “animate” di jQuery l’avevamo già vista nel primo tutorial, ora la analizziamo un po più a fondo:

Con questa funzione e dei buoni Css iniziali potete ottenere gran parte delle animazioni più comuni!

4. Nascondi & Mostra

Adesso diamoci dentro con l’elemento che abbiamo nascosto all’inizio con “display:none”:

// Mostro l'elemento nascosto con i Css
$("#oggetto2").fadeIn();

come potete immaginare fadeIn() (le maiuscole sono importanti) è una funzione che esegue un effetto di dissolvenza in entrata, possiamo al contrario usare fadeOut() per fare una dissolvenza in uscita. Nella stessa famiglia ci sono anche le funzioni slideUp() e slideDown() che invece eseguono un’animazione a tendina (il primo nasconde e il secondo mostra), mentre i metodi più generici show() e hide() eseguono fade e slide in modo combinato.

5. Qualche considerazione

Le funzioni del passo precedente condividono una cosa interessante, dentro la loro parentesi tonda possiamo inserire un valore numerico per esprimere in millisecondi la durata dell’animazione, quindi se volessi modificare l’azione di prima per far si che duri mezzo secondo devo solo fare una piccola modifica:

// Dissolvenza in mezzo secondo
$("#oggetto2").fadeIn(500);

Se invece volessimo nascondere un elemento direttamente tramite jQuery per poi mostrarlo con un’animazione possiamo concatenare due o più funzioni per non riscrivere il selettore più volte:

// Nascondo un elemento e lo mostro animandolo tramite jQuery
$("#oggetto3").hide().show(500);
// Senno avremmo dovuto scrivere
$("#oggetto3").hide();
$("#oggetto3").show(500);

Un’ultima nota che vale solo per show() e hide(), se vengono scritti senza specificare una durata, vengono eseguiti istantaneamente, senza animazione.

In Conclusione

Ora avete delle buone basi per animare oggetti Html con jQuery… divertitevi! E se non l’avete ancora fatto scaricate i file di esempio Animazioni con jQuery !

Speciale Earth Hour 2010

Articoli correlati:

Riguardo Salvo...

Web designer/developer (aka Interactive Designer) dal 2006, ho lavorato in varie aziende che operano dall'e-commerce alla comunicazione multimediale, sono stato speaker a conferenze come Better Software, Codemotion e due WordCamp. Dal 2010 insegno linguaggi web alla scuola Mohole di Milano.

Se ti e' sembrato utile perche' non mi offri un caffe'?

Tutto quello che trovi su MoebiusMania.net puo' essere utilizzato liberamente e gratuitamente, se magari hai trovato qualcosa di particolarmente utile puoi mostrare il tuo apprezzamento con una minuscola donazione con Paypal o cliccando sui banner!


  • vittorio scrive:

    salve,sono un principiante e ho iniziato a seguire passo passo le istruzioni del tutorial.
    ho inserito tutto come scritto.primo problema:
    quando dó il nome al fila prova.js,questo cambia icona e non mi é piu consentito aprirlo.quindi impossibile consultarlo.
    secondo problema:quando passo il mouse sulla ….”a”….non si sposta verso destra e ritorna,ma appare un rettangolino bianco sotto a destra della ….”a”….
    perché succede questo?grazie

  • Lascia un Commento

    L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

    *

    È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>