di: Andrea Chiarelli 21 Febbraio 2012
In questo articolo proviamo turn.js. Si tratta di un plugin per jQuery che permette di navigare tra le pagine di un sito come se fossero quelle di una rivista. Effetti di transizione come questi si adattano bene a contenuti come libri o brochure online.
Vediamo come realizzare un esempio simile a questo (provate a sfogliare le pagine):
Dopo aver scaricato il plugin dal repository di GitHub, occorre preparare la pagina HTML per includere le librerie necessarie:
<html> <head> <title>Pagina di test di Turn.js</title> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/turn.min.js"></script> </head> <body> </body> </html>
Come è evidente dal codice, l'unica dipendenza di turn.js è da jQuery, in particolare a partire dalla versione 1.7 della libreria.
Per definire il contenuto sfogliabile è sufficiente definire un div come contenitore globale e una serie di altri div interni che rappresentano le pagine, come
mostrato di seguito:
<div id="magazine"> <div>Pagina 1 </div> <div>Pagina 2 </div> <div>Pagina 3 </div> </div>
Definiamo quindi le dimensioni totali del nostro documento quando entrambe le pagine sono aperte con la seguente regola CSS:
#magazine{
width:800px;
height:400px;
}
ed aggiungiamo un'altra regola CSS per definire dimensioni ed aspetto grafico delle singole pagine:
#magazine
.turn-page{
width:400px;
height:400px;
background-color:#ccc;
border:1px solid #999;
}
La classe turn-page è predefinita in turn.js e viene automaticamente applicata alle pagine del nostro documento.
A questo punto non ci resta che inizializzare il tutto da codice JavaScript:
$().ready(function() {
$('#magazine').turn();
});
Con questi semplici passaggi abbiamo messo su documento sfogliabile di sicuro impatto grafico.
Il plugin prevede la possibilità di gestire il documento e la navigazione tra le pagine direttamente da codice. Così, ad esempio, possiamo creare un documento con effetto sfogliabile posizionandoci direttamente sulla terza pagina con la seguente istruzione di inizializzazione:
$('#magazine').turn({page:3});
oppure possiamo ottenere l'indice della pagina corrente:
alert($('#magazine').turn('page'));
o andare alla pagina successiva o precedente:
$('#magazine').turn('next');
$('#magazine').turn('previous');
Abbiamo a disposizione anche quattro eventi che ci consentono di personalizzare l'effetto:
| Evento | Descrizione (quando si verifica) |
|---|---|
turning | prima che inizi l'effetto di voltare la pagina |
turned | dopo che la pagina è stata voltata |
start | prima che venga visualizzato l'effetto della pagina sfogliata |
end | dopo che l'effetto della pagina sfogliata scompare |
Gestendo opportunamente questi eventi è possibile ottenere effetti altamente realistici.
Il plugin è pienamente compatibile anche per la visualizzazione su dispositivi mobili ed è in grado di sfruttare l'accelerazione hardware,anche se può avere qualche piccolo problema su alcune schede grafiche.
Link Utili
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 jQuery UICreare siti ricchi e dinamici con jQuery UI, il progetto ufficiale... |
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 |