swap d'images [résolu]

swap d'images [résolu] - HTML/CSS - Programmation

Marsh Posté le 24-07-2005 à 15:26:08    

Salut à tous.
 
Je suis en train de me battre avec du javascript et je m'en sors donc je viens demander conseil. Voilà ce que je veux :  
j'ai neuf images (des miniatures) dans un cadre et j'aimerais que lorsqu'on clique sur une image, elle s'affiche en gros dans le cadre, et que lorsqu'on reclique sur la grande image, la page soit restaurée (cad que les minitaure reviennent).
 
Quelqu'un pourrait me dire quelle serait la maniere la plus élégante de faire ce genre de chose ?
 
Merci.


Message édité par Papy Brossard le 26-07-2005 à 08:45:37
Reply

Marsh Posté le 24-07-2005 à 15:26:08   

Reply

Marsh Posté le 24-07-2005 à 16:16:07    

on peu avoir un bout de ton code ?????
 
sinon tu as exactement ce que tu recherche ici :  
 
http://css.alsacreations.com/Tutor [...] javascript

Reply

Marsh Posté le 24-07-2005 à 17:32:03    

Coucou
 
ça fait pas exactement ce que je veux puisque j'aimerais que la liste des images à agrandir soit affichée seule et revienne une fois qu'une "grande" image a été vue (et que l'utilisateur clique).
 
Je vais ajouter le code :  
 
le css :

Code :
  1. /* Ajout des cadres dans le cadre rangeeUn */
  2. ul#rangeeUn {
  3. margin-top: 6px;
  4. list-style-type: none;
  5. width: 470px;
  6. height: 92px;
  7. }
  8. ul#rangeeUn li {
  9. display: inline;
  10. text-align: center;
  11. }
  12. ul#rangeeUn li a {
  13. width: 139px;
  14. height: 91px;
  15. float:left;
  16. margin-left: 15px;
  17. background-image: url(../images/cadre.png);
  18. background-repeat:no-repeat;
  19. }


et le html ou y'a les miniatures :  

Code :
  1. <div class="cadreContenu">
  2.       <div class="contenu" id="contenu">
  3.         <ul id="rangeeUn">
  4.           <li"><a><img src="toto.JPG" alt="toto" /></a></li>
  5.           <li><a><img src="titi.JPG" alt="toto" /></a></li>
  6.           <li><a><img src="tata.JPG" alt="toto" /></a></li>
  7.         </ul>
  8.         <ul id="rangeeDeux">
  9.           <li><a><img src="tutu.JPG" alt="toto" /></a></li>
  10.           <li><a><img src="tete.JPG" alt="toto" /></a></li>
  11.           <li><a><img src="tyty.JPG" alt="toto" /></a></li>
  12.         </ul>
  13.         <ul id="rangeeTrois">
  14.           <li><a><img src="toto2.JPG" alt="toto" /></a></li>
  15.           <li><a><img src="titi2.JPG" alt="toto" /></a></li>
  16.           <li><a><img src="tata2.JPG" alt="toto" /></a></li>
  17.         </ul>
  18.         <ul id="rangeeQuatre">
  19.           <li><a><img src="tutu2.JPG" alt="toto" /></a></li>
  20.           <li><a><img src="tete2.JPG" alt="toto" /></a></li>
  21.           <li><a><img src="tyty2.JPG" alt="toto" /></a></li>
  22.         </ul>
  23.       </div>
  24.     </div>


 
 
Donc en gros, ce que je voudrais c'est que lorsqu'on clique sur une image, elle occule toutes les miniatures et s'affiche seule dans le div  <div class="contenu" id="contenu">.
 
Je suis assez clair ?
 
Merci d'avance !

Reply

Marsh Posté le 24-07-2005 à 18:04:19    

tu peux virer class="contenu" puisque tu peux ajouter tes styles directement sur contenu
et idem pour tes id de rangéestrucmuche sur les UL ca sert à rien du tout
 
m'enfin bon tu fais comme tu veux mais ce code là marche :  
 

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title></title>
  5. <style>
  6. #cadreGallerie{
  7.  width:300px;
  8.  height:200px;
  9.  border: 1px solid red;
  10. }
  11. #cadreGallerie DIV{
  12. }
  13. #cadreGallerie UL{
  14.  border: 1px solid black;
  15.  float:left;
  16.  margin:0;
  17.  padding:0;
  18.  clear:both;
  19.  width:200px;
  20.  margin-left:auto;
  21.  margin-right:auto;
  22.  list-style:none;
  23. }
  24. #cadreGallerie UL LI {
  25.  float:left;
  26.  text-align: center;
  27.  margin:auto;
  28. }
  29. #cadreGallerie UL LI A{
  30.  display: block;
  31. }
  32. #cadreGallerie UL LI A IMG{
  33.  width:50px;
  34.  height:50px;
  35.  border:none;
  36. }
  37. #cadreGallerie IMG{
  38.  border:none;
  39.  cursor:pointer;
  40. }
  41. #imageGallerie{
  42.  display: none;
  43.  width:100%;
  44.  height:100%;
  45. }
  46. </style>
  47. <script>
  48. function gallery(){
  49.  var MaGallery = document.getElementById("cadreGallerie" );
  50.  var contenu = MaGallery.getElementsByTagName("DIV" ); //On récupère le div qui contient tous les UL
  51.  var LiensImg = MaGallery.getElementsByTagName("A" ) //on recupère toutes les images de la gallery
  52.  for (var i=0; i<LiensImg.length-1; i++)  //on parcours tous les liens des images de la gallery et pour un lien trouvé on lui rajoute une fonction
  53.   LiensImg[i].onclick = function(){
  54.    var MaGallery = document.getElementById("cadreGallerie" );
  55.    var ULGal = MaGallery.getElementsByTagName("UL" );
  56.    for(var i=0; i<ULGal.length; i++) ULGal[i].style.display = "none";
  57.    var image = MaGallery.getElementsByTagName("IMG" )[0]; //On récupère la première image
  58.    image.src = this.href;
  59.    image.alt = this.getElementsByTagName("IMG" )[0].alt;
  60.    image.title =  this.getElementsByTagName("IMG" )[0].title;
  61.    image.onclick = function(){
  62.     var MaGallery = document.getElementById("cadreGallerie" );
  63.     var ULGal = MaGallery.getElementsByTagName("UL" );
  64.     for(var i=0; i<ULGal.length; i++) ULGal[i].style.display = "block";
  65.     this.style.display = "none";
  66.    }
  67.    image.style.display = "block";
  68.    return false;
  69.  }
  70. }
  71. window.onload = gallery;
  72. </script>
  73. </head>
  74. <body>
  75. <div id="cadreGallerie">
  76. <img id="imageGallerie">
  77.     <div>
  78.         <ul>
  79.           <li><a href="toto.JPG"><img src="toto.JPG" alt="toto" /></a></li>
  80.           <li><a href="titi.JPG"><img src="titi.JPG" alt="titi" /></a></li>
  81.           <li><a href="tata.JPG"><img src="tata.JPG" alt="tata" /></a></li>
  82.         </ul>
  83.         <ul>
  84.           <li><a href="#"><img src="tutu.JPG" alt="toto" /></a></li>
  85.           <li><a href="#"><img src="tete.JPG" alt="toto" /></a></li>
  86.           <li><a href="#"><img src="tyty.JPG" alt="toto" /></a></li>
  87.         </ul>
  88.         <ul>
  89.           <li><a href="#"><img src="toto2.JPG" alt="toto" /></a></li>
  90.           <li><a href="#"><img src="titi2.JPG" alt="toto" /></a></li>
  91.           <li><a href="#"><img src="tata2.JPG" alt="toto" /></a></li>
  92.         </ul>
  93.         <ul>
  94.           <li><a href="#"><img src="tutu2.JPG" alt="toto" /></a></li>
  95.           <li><a href="#"><img src="tete2.JPG" alt="toto" /></a></li>
  96.           <li><a href="#"><img src="tyty2.JPG" alt="toto" /></a></li>
  97.         </ul>
  98.       </div>
  99. </div>
  100. </body>
  101. </html>


 
PS : mes petites mains pottelées sont généreuses en ce moment


Message édité par gatsusat le 24-07-2005 à 19:49:18
Reply

Marsh Posté le 24-07-2005 à 19:22:14    

ça marche plutot bien mais j'ai u peu de mal à le mettre à ma sauce. Enfin, j'y arrive mais les images s'affichent pas quand on clique dessus (j'ai le texte alternatif).  
Une explication ?  :jap:
 
Edit : en fait ça marche, je me suis débrouill:é comme une burne au déut, c'est tout.
Merci bcp gatsuat. Et puis grace à toi, je peux me venter d'avoir du code de pro ;)


Message édité par Papy Brossard le 26-07-2005 à 08:45:18
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed