Bonjour à tous, je sollicite votre aide pour un petit détail qui me chagrine.
J'ai un script pour une galerie photo, tout est OP, sauf qu'au lieu d'afficher une ligne de titre pour chaque photo, je souhaiterais en afficher 3 du style :
titre<br/>
Taille<br>
Ref.
Vous l'aurez compris c'est pour afficher des tableaux.
Et le paramètre ne prend pas en compte les balises HTML dans le titre.
Voici le script :
Code HTML :
<dl id="photo">
<dt>Titre de la photo</dt>
<dd><img id="big_pict" src="images/photo1.png" alt="Photo 1 en taille normale" /></dd>
</dl>
<div id="contenu">
<ul id="galerie_mini">
<li><a href="images/photo1.png" title="titre"><img src="images/m_photo1.png" alt="" /></a></li>
<li><a href="images/photo2.png" title="Titre de la photo 2"><img src="images/m_photo2.png" alt="Le titre de la photo 2" /></a></li>
<!--ETC...-->
</ul>
</div>
et le javascript :
Code Javascript :
function displayPics()
{
var photos = document.getElementById('galerie_mini') ;
// On récupère l'élément ayant pour id galerie_mini
var liens = photos.getElementsByTagName('a') ;
//var descript = photos.getElementsByTagName('li').getElementsById('toto').innerHTML ;
// On récupère dans une variable tous les liens contenu dans galerie_mini
var big_photo = document.getElementById('big_pict') ;
// 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[i].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;
Merci d'avance pour le temps que vous allez m'accorder.
