Esistono molti plugin per WordPress che implementano e aggiungono la libreria Fancybox, una delle mie preferite per le gallerie di immagini.
Mi è capitato, tuttavia, di avere l’esigenza di animare le immagini che Fancybox apre a schermo, in modo da ottenere un “effetto slideshow” con le immagini che scrollano in automatico in successione e magari si fermano quando il mouse passa sopra l’immagine aperta in quel momento. Questa opzione non è inclusa in nessun plug-in e per lo più non è nativamente supportata dalla libreria.
Il problema è semplice, ma ci sto ancora lavorando per risolvere alcune questioni avanzate.
Questa è una prima versione semplicissiama e credo funzionante.
jQuery(document).ready(function($){
var pause = false;
var tm = null;
$('.fancybox').fancybox({
'titlePosition' : 'inside',
'overlayOpacity' : 0.6,
'onComplete' : function() {
$('img').hover(
function(){ pause = true; if (tm != null) clearTimeout(tm); return; },
function(){ pause = false; tm = setTimeout($.fancybox.next,4000);
});
if (!pause) tm = setTimeout($.fancybox.next,4000);
}
});
});
Lo script è scritto per WordPress, quindi è espresso in “Compatibility-Mode”.
Impressioni e consigli sul miglioramento del codice sono graditi, come al solito!
Questo Blog fa parte del Network
Pingback: Tweets that mention Rendere slideshow le gallerie fancybox, un esempio | Webeing Developer's Dreams -- Topsy.com
Update: qui trovate una nuova libreria con tanto di Slideshow e pulsante di pausa. Davvero fatta bene!