bonjour,
J'ai fait le tutoriel de la galerie http://css.alsacreations.com/Tutoriels-JavaScript/galerie-photo-javascript ce W.E et j'ai le même problème qu'ici : http://forum.alsacreations.com/topic-23-30976-1-Prbl-fonctionnement-avec-plusieurs-galeries-javascript.html = je veux mettre plusieurs galeries dans la même page.
J'ai trouvé une solution, j'espère qu'elle vous intéressera.
Pour cela j'utilise la bibliothèque jquery (voir http://blog.alsacreations.com/2007/01/24/329-jquery-une-bibliotheque-javascript-simple-et-efficace )
et j'utilise une classe galerie au lieu des id (comme le conseille Florent V. )
Conclusion, la feuille de style devient
le fichier html devient
Remarque : j'ai bien deux galeries et je ne suis même pas obligée de les nommer. Attention , ne pas oublier l'appel à la librairie jquery ainsi que l'appel au fichier javascript à la sauce jquery galeries.js qui devient alors :
Donnez moi votre avis !
Salut
Modifié par eebee (11 Dec 2007 - 09:15)
J'ai fait le tutoriel de la galerie http://css.alsacreations.com/Tutoriels-JavaScript/galerie-photo-javascript ce W.E et j'ai le même problème qu'ici : http://forum.alsacreations.com/topic-23-30976-1-Prbl-fonctionnement-avec-plusieurs-galeries-javascript.html = je veux mettre plusieurs galeries dans la même page.
J'ai trouvé une solution, j'espère qu'elle vous intéressera.
Pour cela j'utilise la bibliothèque jquery (voir http://blog.alsacreations.com/2007/01/24/329-jquery-une-bibliotheque-javascript-simple-et-efficace )
et j'utilise une classe galerie au lieu des id (comme le conseille Florent V. )
Conclusion, la feuille de style devient
div.galerie
{
width: 100% ;
background: #000 ;
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.galerie_photo
{
clear: both ;
margin: 0 auto ;
}
dl.galerie_photo dt
{
font: italic 2.5em/1.5em Georgia, serif ;
color: #dcb ;
}
dl.galerie_photo dd
{
margin: 0 ;
}
dl.galerie_photo img
{
border: 1px solid #dcb ;
}
le fichier html devient
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
<link rel="stylesheet" type="text/css" media="screen,projection" href="css/style.css" />
[b]<!-- jQuery library -->
<script type="text/javascript" src="jquery/jquery.js"></script>
<script type="text/javascript" src="jquery/galeries.js"></script>[/b]
</head>
<body>
<!-- Contenu du document -->
<div class="galerie" id="galerie1">
<ul class="galerie_mini">
<li><a href="img/chat013.jpg" title="Titre de la photo 1"><img src="img/minis/m_chat013.jpg" alt="Le titre de la photo 1" /></a></li>
<li><a href="img/chat015.jpg" title="Titre de la photo 3"><img src="img/minis/m_chat015.jpg" alt="Le titre de la photo 3" /></a></li>
<li><a href="img/chat013.jpg" title="Titre de la photo 1"><img src="img/minis/m_chat013.jpg" alt="Le titre de la photo 1" /></a></li>
<li><a href="img/chat015.jpg" title="Titre de la photo 3"><img src="img/minis/m_chat015.jpg" alt="Le titre de la photo 3" /></a></li>
<li><a href="img/chat014.jpg" title="Titre de la photo 2"><img src="img/minis/m_chat014.jpg" alt="Le titre de la photo 2" /></a></li>
<li><a href="img/chat016.jpg" title="Titre de la photo 4"><img src="img/minis/m_chat016.jpg" alt="Le titre de la photo 4" /></a></li>
<li><a href="img/chat014.jpg" title="Titre de la photo 2"><img src="img/minis/m_chat014.jpg" alt="Le titre de la photo 2" /></a></li>
<li><a href="img/chat016.jpg" title="Titre de la photo 4"><img src="img/minis/m_chat016.jpg" alt="Le titre de la photo 4" /></a></li>
</ul>
<dl class="galerie_photo">
<dt>Titre de la photo 1 : galerie 1</dt>
<dd><img src="img/chat013.jpg" alt="Photo 1 en taille normale" /></dd>
</dl>
</div>
<div class="galerie" id="galerie2">
<ul class="galerie_mini">
<li><a href="img/chat013.jpg" title="Titre de la photo 1"><img src="img/minis/m_chat013.jpg" alt="Le titre de la photo 1" /></a></li>
<li><a href="img/chat015.jpg" title="Titre de la photo 3"><img src="img/minis/m_chat015.jpg" alt="Le titre de la photo 3" /></a></li>
<li><a href="img/chat013.jpg" title="Titre de la photo 1"><img src="img/minis/m_chat013.jpg" alt="Le titre de la photo 1" /></a></li>
<li><a href="img/chat015.jpg" title="Titre de la photo 3"><img src="img/minis/m_chat015.jpg" alt="Le titre de la photo 3" /></a></li>
<li><a href="img/chat014.jpg" title="Titre de la photo 2"><img src="img/minis/m_chat014.jpg" alt="Le titre de la photo 2" /></a></li>
<li><a href="img/chat016.jpg" title="Titre de la photo 4"><img src="img/minis/m_chat016.jpg" alt="Le titre de la photo 4" /></a></li>
<li><a href="img/chat014.jpg" title="Titre de la photo 2"><img src="img/minis/m_chat014.jpg" alt="Le titre de la photo 2" /></a></li>
<li><a href="img/chat016.jpg" title="Titre de la photo 4"><img src="img/minis/m_chat016.jpg" alt="Le titre de la photo 4" /></a></li>
</ul>
<dl class="galerie_photo">
<dt>Titre de la photo 1 : galerie 2</dt>
<dd><img src="img/chat013.jpg" alt="Photo 1 en taille normale" /></dd>
</dl>
</div>
</body>
</html>
Remarque : j'ai bien deux galeries et je ne suis même pas obligée de les nommer. Attention , ne pas oublier l'appel à la librairie jquery ainsi que l'appel au fichier javascript à la sauce jquery galeries.js qui devient alors :
$(document).ready(function(){
/* pour chaque galerie */
$('.galerie').each(function(i) {
/* trouver la grosse photo, son titre */
var big_photo = $(this).find('dl').find('dd').find('img');
var titre_photo =$(this).find('dt');
/* pour chaque galerie */
$(this).find('ul').find('li').each(function(i) {
/* pour chaque lien de la minie galerie */
$(this).find('a').click(function() {
/* modifier le comportement au click sur chaque lien */
big_photo.attr('src',$(this).attr('href')); // On change l'attribut src de l'image en le remplaçant par la valeur du lien
big_photo.attr('alt',$(this).attr('title')); // On change son titre
titre_photo.html($(this).attr('title')); // On change le texte de titre de la photo
return false; // Et pour finir on inhibe l'action réelle du lien
});
});
});
});
Donnez moi votre avis !
Salut
Modifié par eebee (11 Dec 2007 - 09:15)