08/04
2010
Créer une galerie pour votre portfolio grâce à jQuery
Voici un petit tutoriel enfin plutôt une compilation de différentes ressources jQuery qui va vous permettre de mettre en place un slider qui contiendra différentes vignettes animées qui laisseront apparaitre les informations que vous souhaiterez, y compris un bouton pour pouvoir afficher une image en grand, visible grâce à une lightbox.
Bien entendu tout est possible via les css, cette présentation n'est qu'un exemple.
Pour ce tutoriel vous aurez besoin de 3 choses:
- creat-a-slick-and-accessible-slideshow, le slider
- sliding-boxes-and-captions, ce qui va vous permettre de faire l'animation sur vos images
- clearbox 3, la lightbox pour afficher vos images
Et puis aussi un éditeur de texte, perso je vous conseil quand même Notepad++
Dans l'archive que je vous propose en téléchargement il y a tout ce dont vous avez besoin il vous suffit donc de copier les différents dossiers / fichiers / images de la même façon que sur l'exemple mais faites bien attention aux urls qui appellent vos fichiers.
Voici pour les explications:
Le slider
Nous allons commencer par mettre en place le slider.
Pour cela ouvrez votre fichier index ou header (selon votre cas) et dans la balise head nous allons appeler les fichiers néccessaire au bon fonctionnement et copiez aussi le dossier images_slider à la racine de votre site.
la bibliothèque jQuery
-
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.1.js"></script>
les fichiers css et javascript
-
<!--slideshow-->
-
<link href="./slideshow.css" rel="stylesheet" type="text/css" />
-
<script type="text/javascript" src="./js/slideshow.js"></script>
Et voilà vous avez les fichiers nécessaire pour afficher le slider.
Maintenant ouvrez le fichier ou vous voulez placer votre slider, et copier ceci
-
<!-- Slideshow HTML -->
-
<div id="slideshow">
-
<div id="slidesContainer">
-
<div class="slide">
-
<h2>Titre</h2>
-
<p>Le texte que vous voulez afficher</p>
-
<div class="boxgrid_link">
-
<a rel="clearbox[ gallery=photos,,slideshowtime=10 ]" href="./galerie/leaf.jpg" title="charger l'image">visualiser</a>
-
</div><!--/boxgrid_link-->
-
</div><!--/slide-->
-
-
</div><!--/slidescontainer-->
-
</div><!--/slideshow-->
-
<!-- Slideshow HTML -->
L'attribut rel va servir dans l'appel de la lightbox et ce qui se trouve entre les crochets sera pour créer le diaporama mais on verra ça plus tard.
Là vous avez une miniature pour en ajouter il suffit de copier la div="slide" et tout ce qui est dedans et de coller en dessous ou au dessus de celle présente.
-
<div class="slide">
-
<h2>Titre</h2>
-
<p>Le texte que vous voulez afficher</p>
-
<div class="boxgrid_link">
-
<a rel="clearbox[ gallery=webdesign,,slideshowtime=10 ]" href="./galerie/leaf.jpg" title="charger l'image">visualiser</a>
-
</div><!--/boxgrid_link-->
-
</div><!--/slide-->
Maintenant on va passer au css pour donner forme à tout ça.
Créer une nouvelle feuille css et enregistré la à la racine de votre site en la nommant slideshow.css et collé ça dedans.
-
#slideshow {
-
margin: 10px auto 0 auto;
-
width: 767px;
-
height: 365px;
-
background: transparent;
-
position: relative;
-
}
-
#slideshow #slidesContainer {
-
margin: 0 auto;
-
padding: 0;
-
width: 687px;
-
height: 365px;
-
overflow: auto;
-
position: relative;
-
}
-
#slideshow #slidesContainer .slide {
-
margin: 0 auto;
-
padding: 0;
-
width: 667px;
-
height: 365px;
-
}
-
.slide img {
-
float: right;
-
margin: 0;
-
border: none;
-
}
-
.slide p {
-
line-height: 1.5em;
-
margin: 0;
-
}
-
.slide a {
-
color: #000;
-
font-weight: bold;
-
text-decoration: none;
-
padding: 0 0 2px 0;
-
border-bottom: 1px dotted #181818;
-
}
-
.control {
-
display: block;
-
width: 39px;
-
height: 270px;
-
text-indent: -9999px;
-
position: absolute;
-
cursor: pointer;
-
}
-
#navDiapo{
-
display: block;
-
width: 15px;
-
height: 16px;
-
position: absolute;
-
right: 25px;
-
bottom: 10px;
-
cursor: pointer;
-
}
-
#leftControl {
-
top: 0;
-
left: 0;
-
background: transparent url(images_slideshow/control_left.png) no-repeat 0 0;
-
}
-
#rightControl {
-
top: 0;
-
right: 0;
-
background: transparent url(images_slideshow/control_right.png) no-repeat 0 0;
-
}
Et voilà votre Slider est fait !!
Animation sur image
Maintenant on va donner un petit effet sympa à vos miniatures qui permettra de dévoiler les divers informations.
Dans votre fichier index on va appeler (toujours dans la balise head) le fichier boxgrid.css (on va voir ça juste en dessous) et mettre le javascript nécessaire au bon fonctionnement.
-
<!--sliding boxes-->
-
<link rel="stylesheet" type="text/css" href="./boxgrid.css" />
-
<script type="text/javascript">
-
$(document).ready(function(){
-
//To switch directions up/down and left/right just place a "-" in front of the top/left attribute
-
//Horizontal Sliding
-
$('.boxgrid.slideright').hover(function(){
-
$(".cover", this).stop().animate({left:'180px'},{queue:false,duration:300});
-
}, function() {
-
$(".cover", this).stop().animate({left:'0px'},{queue:false,duration:300});
-
});
-
});
-
</script>
Et pour le css il vous suffit de coller ça dans une nouvelle feuille nommée boxgrid.css et enregistrée la à la racine de votre site.
-
.boxgrid{
-
width: 180px;
-
height: 90px;
-
font-family: Verdana, sans-serif;
-
margin: 4px 22px;
-
float:left;
-
background: #f3f3f3;
-
border: solid 1px #aaa;
-
overflow: hidden;
-
position: relative;
-
}
-
.boxgrid h3 {
-
font-size: 12px;
-
font-weight: bold;
-
padding: 2px 2px 0 2px;
-
}
-
.boxgrid img{
-
position: absolute;
-
top: 0;
-
left: 0;
-
border: 0;
-
}
-
.boxgrid p{
-
font-size: 10px;
-
padding: 2px 2px 0 2px;
-
margin: 0 0 2px 0;
-
color:#404040;
-
}
-
.boxgrid_link {
-
margin: 0 5px 0 0;
-
}
-
.boxgrid a {
-
width: 15px;
-
height: 13px;
-
display: block;
-
text-indent: -9999px;
-
text-decoration: none;
-
float: right;
-
background: transparent url("images_slider/preview.png") no-repeat top;
-
}
Et voilà l'animation est bonne !!
L'affichage de vos images via clearbox3
Cela va vous permettre d'afficher votre image en grand et en plus en toute beauté !! Dans cette galerie on va opter pour un diaporama histoire d'avoir une navigation plus sympa.
Clearbox3 est pour moi la meilleur des lightbox (que je connaisse) pleins d'options sont disponible et très pratique, vous verrez !!
Copiez le dossier clearbox ainsi que le fichier clearbox.js dans votre dossier js.
Dans votre fichier index et entre la balise head
-
<!--clearbox-->
-
<script src="./js/clearbox.js" type="text/javascript"></script>
-
<script src="./js/clearbox.js?config=myconfig" type="text/javascript"></script>
Pour en revenir à la fonction diaporama, en fait il suffit donc de rajouter l'attribut
-
rel=""
Puis clearbox
-
rel="clearbox"
Définir un nom pour la galerie ce qui aura pour effet d'afficher toutes les images comportant ce nom de galerie
-
rel="clearbox[ gallery=photos ]"
Et maintenant le timing du diaporama, soit 10 secondes
-
rel="clearbox[ gallery=photos,,slideshowtime=10 ]"
Et voilà pour l'affichage de vos images.
Bon bah c'est fini !!
J'espère que tout est assez clair si toutefois vous avez des soucis n'hésitez pas à le signaler dans les commentaires
Ce billet est rangé dans: Tutoriels , Webdesign , jQuery
Sur le même sujet
Un billet au hasard
Application Android: WebSharing
Voiçi une petite application que j’ai découvert ce matin et qui est tout simplement INDISPENSABLE!! Avec WebSharing vous allez pouvoir transférer via le wifi des fichiers de votre ordinateur vers votre mobile Android, et vis et versa, et le tout par le navigateur web de votre pc, simple non??
Liens
Version gratuite: WebSharing Free
Liens
Version payante (2.99$): WebSharing
Infos
Testé [...]
En cours de chargement... Si rien ne se passe c'est peut être aussi la faute de twitter.


Très bon site que je découvre là, merci à toi de partager ce tuto, le rendu à l’air sympa.
Bonne continuation !
Je découvre ce blog et merci pour ce tuto, il va m’etre très utile pour mon blog.
Je cherchais justement un tuto pour faire ça, nickel merci
+1 bookmark