Avec le plugin least.js, on peut facilement créer un page portfolio qui sort un peu de l’ordinaire.
Sur notre page html, on doit créer une liste contenant une première li vide en display:none par défaut, c’est celle qui va contenir notre image au grand format. Toutes les div contenant les descriptions doivent aussi être cachées en display:none par défaut. La structure à respecter est indiquée sur le site du plugin . Il faut donc une liste ul li ,contenant un lien vers l’image en grande taille, l’image elle même avec une taille miniature par défaut que vous pouvez définir et appeler via l’attribut data-original. L’image doit aussi contenir une classe.
<div class="overLayer"></div> <div class="infoLayer"> <ul> <li> <h2> Ocean </h2> </li> <li> <p> View Picture </p> </li> </ul> </div> <div class="projectInfo"> <strong> Day, Month, Year: </strong> sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. </div> </li>
<div class="overLayer"></div> <div class="infoLayer"> <ul> <li> <h2> Ocean </h2> </li> <li> <p> View Picture </p> </li> </ul> </div> <div class="projectInfo"> <strong> Day, Month, Year: </strong> sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. </div> </li> //ICI PLUS D IMAGES.. </ul> </section> </body> </html>
Voici la partie jquery à insérer dans un fichier js à part :
Au chargement de la page, on appelle notre plugin sur notre div #gallery.
J »ai crée un bouton pour chaque groupe d’image, et au clic sur le bouton à l’ID #sports, je définis pour toutes les images une opacité par défaut à 1 avec la fonction jquery .css
Et avec la fonction .not je dis : tout ce qui n’a pas la classe .sports je lui applique une opacité de 0.5. Pour le reste c’est le plugin qui s’en occupe!!