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
<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
Per definire il contenuto sfogliabile è sufficiente definire un div
div
<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
turn.js
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.
Sfogliare le pagine da codice
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.
- Sito ufficiale di Turn.js