D'accord voici premièrement le code HTML de la galerie :
<div id="galerie">
<ul id="galerie_mini">
<li><a href="images/gallerie/gevac_01.jpg" title="Exercice evacuation de telesiege"><img src="images/gallerie/minis/evac_01.jpg" alt="Exercice evacuation de telesiege" /></a></li>
<li><a href="images/gallerie/gevac_02.jpg" title="Exercice evacuation de telesiege"><img src="images/gallerie/minis/evac_02.jpg" alt="Exercice evacuation de telesiege" /></a></li>
<li><a href="images/gallerie/gevac_03.jpg" title="Exercice evacuation de telesiege"><img src="images/gallerie/minis/evac_03.jpg" alt="Exercice evacuation de telesiege" /></a></li>
<li><a href="images/gallerie/gevac_04.jpg" title="Exercice evacuation de telesiege"><img src="images/gallerie/minis/evac_04.jpg" alt="Exercice evacuation de telesiege" /></a></li>
<li><a href="images/gallerie/gevac_05.jpg" title="Exercice evacuation de telesiege"><img src="images/gallerie/minis/evac_05.jpg" alt="Exercice evacuation de telesiege" /></a></li>
</ul>
<dl id="photo">
<dt>Exercice evacuation de telesiege</dt>
<dd><img id="big_pict" src="images/gevac_01.jpg" alt="Exercice evacuation de telesiege" /></dd>
</dl>
</div>
Maintenant le CSS :
@charset "utf-8";
/* CSS de la galerie photos seulement (module photos)*/
div#galerie
{
width: 620px ;
background: #eed ;
border: 1px solid #dcb ;
padding: 15px ;
margin: 15px 30px ;
text-align: center ;
font: 0.9em Georgia, serif ;
}
ul#galerie_mini
{
margin: 0 ;
padding: 0 ;
list-style-type: none ;
}
ul#galerie_mini li
{
float: left ;
}
ul#galerie_mini li a img
{
margin: 2px 1px ;
border: 1px solid #dcb ;
}
dl#photo
{
clear: both ;
margin: 0 auto ;
}
dl#photo dt
{
font: italic 2.5em/1.5em Georgia, serif ;
color: #dcb ;
}
dl#photo dd
{
margin: 0 ;
}
dl#photo img
{
border: 1px solid #dcb ;
}
Finalement le fameux javascript :
// JavaScript Documentfunction displayPics()
{
var photos = document.getElementById('images/gallerie') ;
// On récupère l'élément ayant pour id galerie_mini
var liens = photos.getElementsByTagName('a') ;
// On récupère dans une variable tous les liens contenu dans galerie_mini
var big_photo = document.getElementById('images/gallerie/minis') ;
// Ici c'est l'élément ayant pour id big_pict qui est récupéré, c'est notre photo en taille normale
var titre_photo = document.getElementById('photo').getElementsByTagName('dt')[0] ;
// Et enfin le titre de la photo de taille normale
// Une boucle parcourant l'ensemble des liens contenu dans galerie_mini
for (var i = 0 ; i < liens.length ; ++i) {
// Au clique sur ces liens
liens
.onclick = function() {
big_photo.src = this.href; // On change l'attribut src de l'image en le remplaçant par la valeur du lien
big_photo.alt = this.title; // On change son titre
titre_photo.firstChild.nodeValue = this.title; // On change le texte de titre de la photo
return false; // Et pour finir on inhibe l'action réelle du lien
};
}
}
window.onload = displayPics;
// Il ne reste plus qu'à appeler notre fonction au chargement de la page
Malheureusement mon sera seulement en ligne demain lorsque je remmeterai mon site à mon prof