Dans ce billet je vais vous présenter ma version de Lightbox qui permet de faire défiler les images automatiquement à la manière d'un diaporama. Mais pour commencer, petite introduction.
Lightbox
Lightbox est un script JavaScript d'affichage dynamique d'images : un clic sur un lien affiche l'image par dessus la page en cours (voir l'exemple du site officiel).
Il se base sur les librairies JavaScript Prototype et script.aculo.us. Vous devez donc les inclure dans votre page pour pouvoir utiliser Lightbox (voir le howto du site officiel).
Jusqu'à il y a peu, la version la plus récente de Lightbox était la 2.03. Elle utilisait d'anciennes versions de prototype et script.aculo.us... ou plutôt, elle n'utilisait pas les apports des versions plus récentes.
Son auteur a mis à jour ce script en début d'année avec la version 2.04. Au menu, utilisation de la dernière version des librairies, corrections de bugs et code plus mieux bien. Le point majeur est l'utilisation du Builder de script.aculo.us (création d'objets dans le DOM) qui a permis de largement réduire le code.
Lightbox Diaporama
Un client voulait la semaine dernière que la Lightbox que nous avions intégrée à son site dispose d'un défilement automatique des images. Histoire de gagner du temps, j'ai commencé par regarder sur le net ce qu'il existait. J'ai été assez surpris de ne trouver qu'une seule réponse valable.
Dans ce billet, Stéphane Cottin propose au téléchargement une version de Lightbox modifiée par ses soins et offrant la fonctionnalité dont j'avais besoin. Je le remercie au passage d'avoir rendu public son travail.
Je me suis basé sur ce script pour le faire marcher avec la version 2.04 de Lightbox. Vous pouvez télécharger l'archive en cliquant ici.
J'ai utilisé ce script sur mon site, cette page peut donc servir d'exemple d'utilisation.
Changelog
Entre la 2.04 et ma version :
- fichier CSS : sélecteurs ré-écrits pour cibler plus précisément les éléments
- fichier CSS : le bloc span qui affiche la légende de l'image est affiché en tant que bloc et dispose d'une margin-bottom
- fichier CSS : ajouts liés aux ajouts d'éléments pour le diaporama
- fichier JS : portions de code commenté ou ajouté pour inclure les fonctionnalités de diaporama
Entre la version de Stéphane Cottin et la mienne :
- fichier CSS : quelques modifs (tailles, marges...) car je n'ai pas utilisé les mêmes images que lui (close, play, pause...)
- fichier JS : transposition de ses ajouts de code pour coller à la 2.04, quelques adaptations nécessaires
Configuration et utilisation
Vérifier les chemins des images dans le fichier CSS
Dans le fichier JS, modifier les valeurs des attributs de LightboxOptions, vous ne devez modifier que ça dans le fichier
Si vous changez l'une des images, vous serez peut-être amené à modifier des valeurs de tailles ou de marges dans le fichier CSS.
Laisser DiapoLightboxUse à true pour utiliser le mode diaporama ou le passer à false pour revenir au comportement de la Lightbox de base.
Si vous mettez DiapoLightboxStop à false, il faudra cliquer sur Play pour lancer le diaporama à l'affichage de la première image, sinon il démarre automatiquement.
Rappel valable pour la Lightbox de base : si le fond grisé ne couvre pas la totalité de la page, mettez padding et margin à 0 pour le body, et attribuez les anciennes valeurs à un div englobant toute la page, placé juste sous le body dans le DOM.
Articles similaires
- Quand un habitué de Prototype teste jQuery - part. 2 : suite et fin
- Quand un habitué de Prototype teste jQuery - part. 1 : un problème de taille
- Petit bug jQuery / TinyMCE
- Validateur W3C en local sous Mac OSX
- Redirection par .htaccess après migration d'un site
- Comment choisir son langage/framework de développement web?
- XAware, l'intégration de données open source
- jQuery 1.4
- Obtenez votre invitation à Google WAVE
- Installation de Trac chez l'hébergeur Dreamhost, en un clic



Correction de bug
Correction d'un petit bug : un clic sur "close" ou "play / pause" faisait remonter en haut de page
j'avais été trop rapide sur la relecture du code...
rappel : lien pour télécharger l'archive
Dia
fondu lightbox
Bonjour,
merci pour cette modification du lightbox avec l'integration du diaporama automatique c'est genial !!!
juste une petit remarque. Lorsque l'on passe d'un image a l'autre il est domage que l'on ait pas l'effet de fondu dans le sens de la fermeture de l'image ùais que dans celui de l'ouverture.
est il possible de modifier le code afin que l'on ait pas de coupure franche et juste une effet de fondu entre les images ?
pas assez de temps
bonjour,
merci pour votre commentaire
je suis en direct live d'un hotspot wifi de Poitiers ^^
je n'aurai pas le temps de faire cette modif, ni la motiv d'ailleurs pour être honnête
ça fait un moment que je ne suis plus très motivé pour coder chez moi après le taff
cela dit si vous faites la modif, n'hésitez pas à venir le signaler dans ces commentaires :)
++
Dia