Tom's Guide > Forum > Programmation > Gallerie photo en PHP / Javascript

Gallerie photo en PHP / Javascript

Forum Programmation : Gallerie photo en PHP / Javascript

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Voila j'ai trouvé un script pour faire une gallerie photo avec un systeme qui, quand on clic sur une vignette la fait apparaitre en dessous.
Mais j'aimerai que quand on clic sur la version aggrandie elle s'ouvre en taille réelle dans un popup.
Je pensais qu'un simple lien autour de la version agrandie suffirai mais malheureusement non.
Je suppose que cela a un rapport avec le javascript.
Pour info quand j'essai en fait il ouvre toujours la même image quelque soit celle choisit.
avec un simple echo je me suis rendu compte que quelque soit la photo choisit la variable bouge pas apparement.
Bon passons au code voici le morceau de la page qui s'occupe de la galerie :

Code :
  1. <ul id="galerie_mini">
  2.     <?php
  3. mysql_connect("localhost", "*****", "*****" );
  4. mysql_select_db("db_dragon" );
  5. $retour = mysql_query('SELECT * FROM screen ORDER BY id ASC');
  6. ?><?php
  7. while ($donnees = mysql_fetch_array($retour)) {
  8. $titre=$donnees['nom'];
  9. $descr=$donnees['description'];
  10. $images=$donnees['fichier'];
  11. ?>
  12.         <li><a href="http://umbrella.hd.free.fr/dragon/screenshots/<?php echo $images; ?>" title="<?php echo $descr; ?>"><img src="http://umbrella.hd.free.fr/dragon/screenshots/<?php echo $images; ?>" width="100px" height="100px" alt="<?php echo $titre; ?>" /></a></li>
  13. <?php
  14. }
  15. ?>
  16.     </ul>
  17.     <dl id="photo">
  18.         <dt><?php echo $descr; ?></dt>
  19.         <dd><img id="big_pict" src="http://umbrella.hd.free.fr/dragon/screenshots/<?php echo $images; ?>"width="550px" height="450"alt="<?php echo $titre; ?>" /></dd>
  20.     </dl>


Et voici le code javascript :

Code :
  1. function displayPics()
  2. {
  3.     var photos = document.getElementById('galerie_mini') ;
  4.     // On récupère l'élément ayant pour id galerie_mini
  5.     var liens = photos.getElementsByTagName('a') ;
  6.     // On récupère dans une variable tous les liens contenu dans galerie_mini
  7.     var big_photo = document.getElementById('big_pict') ;
  8.     // Ici c'est l'élément ayant pour id big_pict qui est récupéré, c'est notre photo en taille normale
  9.     var titre_photo = document.getElementById('photo').getElementsByTagName('dt')[0] ;
  10.     // Et enfin le titre de la photo de taille normale
  11.     // Une boucle parcourant l'ensemble des liens contenu dans galerie_mini
  12.     for (var i = 0 ; i < liens.length ; ++i) {
  13.         // Au clique sur ces liens
  14.         liens[i].onclick = function() {
  15.             big_photo.src = this.href; // On change l'attribut src de l'image en le remplaçant par la valeur du lien
  16.             big_photo.alt = this.title; // On change son titre
  17.             titre_photo.firstChild.nodeValue = this.title; // On change le texte de titre de la photo
  18.             return false; // Et pour finir on inhibe l'action réelle du lien
  19.         };
  20.     }
  21. }
  22. window.onload = displayPics;
  23. // Il ne reste plus qu'à appeler notre fonction au chargement de la page


Je n'y connais rien en javascript mais je pense que c'est lui qui gère toute ma galerie et donc qui me pose probleme.

Pour récapituler:Ma gallerie marche bien mais je souhaite avoir, en plus un moyen d'ouvrir les images dans une nouvelle fenêtre pour les avoir en taille réelle.

Je vous remercie d'avance pour l'aide que vous pourrez m'apporter.

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
Tom's Guide > Forum > Programmation > Gallerie photo en PHP / Javascript
Aller à :

Il y a 1334 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens