IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Galerie d'images, visionneuse, carrousel, boutons de navigation seulement en JavaScript, CSS et HTML


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Galerie d'images, visionneuse, carrousel, boutons de navigation seulement en JavaScript, CSS et HTML
    Bonjour,

    Ce que j’essaie de produire:
    Visionneuse dynamique
    - Sans la librairie JQuery (seulement avec js, css et html). C'est le genre de chose qui n'est pas facile à trouver sur Google.
    - Boutons de navigations (suivant, précédent et lecture/pause)
    - La grande image dépend de la vignette (thumbnails = petite image) sélectionnée.

    - La visionneuse doit être sur le mode "Lecture" au chargement de la page, donc le bouton lecture/pause doit afficher "Pause".
    - Indiquer la vignette présentement sélectionnée avec un encadré de couleur. Dans le mode "Lecture" à chaque 3 secondes la vignette change avec la suivante. Une fois arrivé à la dernière vignette, on revient à la première.
    - L'utilisateur peut cliquer sur la vignette de son choix pour la faire afficher dans la zone de la Grande image.

    Voici un aperçu du résultat final.
    Nom : galerie-images-js-css-html.JPG
Affichages : 4037
Taille : 44,8 Ko

    HTML
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <div id="galerie">
    	<!-- Boutons de naviagation -->
    	<div id="btnNavigation">
    		<button id="prec">Précédent</button>
    		<button id="lect">Lecture</button>
    		<button id="suiv">Suivant</button>
    	</div>
     
     
    	<!-- Image grand format -->
    	<p>
    		<img id="grandeImage" src="" alt="Image visionnée" title="Image"/>
    	</p>
     
     
     
    <!-- Liste des vignettes -->
          <div>
    	<ul id="galerie_mini">
    		<li><p id="img1"><img src="images/3-contenu/galerie-images/vignettes/img-vignette1.png" alt="Amaya" /></p></li>
    		<li><p id="img2"><img src="images/3-contenu/galerie-images/vignettes/img-vignette2.png" alt="Ubisoft" /></p></li>
    	        <li><p id="img3"><img src="images/3-contenu/galerie-images/vignettes/img-vignette3.png" alt="CGI" /></p></li>
    		<li><p id="img4"><img src="images/3-contenu/galerie-images/vignettes/img-vignette4.png" alt="Le titre de la photo 4" /></p></li>
    		<li><p id="img5"><img src="images/3-contenu/galerie-images/vignettes/img-vignette5.png" alt="Le titre de la photo 5" /></p></li>
    		<li><p id="img6"><img src="images/3-contenu/galerie-images/vignettes/img-vignette6.png" alt="Le titre de la photo 6" /></p></li>
    		<li><p id="img7"><img src="images/3-contenu/galerie-images/vignettes/img-vignette7.png" alt="Le titre de la photo 7" /></p></li>
    		<li><p id="img8"><img src="images/3-contenu/galerie-images/vignettes/img-vignette8.png" alt="Le titre de la photo 8" /></p></li>
    		<li><p id="img9"><img src="images/3-contenu/galerie-images/vignettes/img-vignette9.png" alt="Le titre de la photo 9" /></p></li>
    		<li><p id="img10"><img src="images/3-contenu/galerie-images/vignettes/img-vignette10.png" alt="Le titre de la photo 10" /></p></li>	
    	</ul>
           </div>
    </div> <!-- Fin visionneuse-->

    CSS
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #grandeImage
    {
    	clear:both;
    }
     
    ul#galerie_mini
    {
      margin-left: 30px;
      padding: 0 ;
      list-style-type: none ;
    }
     
    ul#galerie_mini li
    {
      float: left ;
    }
     
    ul#galerie_mini li p img
    {
      margin: 2px 1px -25px;
      border: 1px solid #dcb ;
    }

    JavaScript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    window.addEventListener("load",init,false);
     
    function init()
    {
     
    	// Pour les boutons
    	document.getElementById("prec").addEventListener("click",reculer,false);
    	document.getElementById("suiv").addEventListener("click",avancer,false);
    	document.getElementById("lect").addEventListener("click",lecture,false);
     
     
     
     
     
    	// Vous prenez chaque vignette et vous écoutez les événements.
    	for(i=1;i<=10;i++)
    	{
     
    		document.getElementById("img"+i).addEventListener("click",afficherGrandeImage,false);
    		document.getElementById("img"+i).addEventListener("mouseover",afficherCadreVignette,false);
    		document.getElementById("img"+i).addEventListener("mouseout",enleverCadreVignette,false);
     
     
    	}
    	afficherGrandeImage(e.target.id);
    	alert("Ceci est un test");
     
     
     
    }
     
     
     
    /*
    	Afficher l'[image grand format] selon l'id de la [vignette sélectionnée].
    */
    function afficherGrandeImage(e)
    {
    	document.getElementById("grandeImage").src = "/images/3-contenu/galerie-images/" + e.target.id + ".png";
    }
     
     
     
    // 
     
    function afficherCadreVignette(e)
    {
    	document.getElementById("apercu").src = "images/vignettes/" + e.target.id + ".png";
    	//document.getElementById(e.target.id).style.color = "blue";
    	e.target.style.color = "blue";
    }
     
    function enleverCadreVignette(e)
    {
    	e.target.style.color = "black";
    }
     
    function avancer(){
     
    	noImg++;
     
    	if (noImg == captionText.length){
    		noImg = 0;
    	}
     
    	document.getElementById("galerie_mini").src = "images/3-contenu/galerie-images/vignettes/img-vignette" + noImg + ".png";
    	document.getElementById("big_pict").innerHTML = captionText[noImg];
     
    }
     
     
     
    /*
     
    */
    function reculer(){
     
    	noImg--;
     
    	if (noImg == -1){
    		noImg = captionText.length - 1;
    	}
     
    	document.getElementById("galerie_mini").src = "images/3-contenu/galerie-images/vignettes/img-vignette" + noImg + ".png";
    	document.getElementById("big_pict").innerHTML = captionText[noImg];
    }
    En gros, ce projet ne fonctionne pas et j'ai besoin de vous pour me trouver des exemples qui fonctionnent ou pour restructurer le code que je vous présente.

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    avant de se lancer dans le code il serait peut être bien de concevoir son appli
    juste histoire de ne pas faire n'importe quoi.

    A+JYT

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Conception
    Citation Envoyé par sekaijin Voir le message
    concevoir son appli juste histoire de ne pas faire n'importe quoi.
    Bonjour,

    Si je comprends bien, je dois prévoir les fonctions qui me seront utiles dans le javaScript?
    - afficherGrandeImage()
    - afficherVignettes()
    - lecture()
    - encadrerVignette()
    - vignetteSuivante()
    - vignettePrécédente()




    Sinon «concevoir» signifie de faire les fichiers et les dossiers (je crois que cette partie est correcte. Ici, mon objectif est de régler une partie de mon projet qui ne fonctionne pas)? En d'autres mots, j'ai comme un masterPage fonctionnel et j'essai de lui ajouter un morceau galerie.

    Pour l'instant, j'ai trouvé beaucoup de chose sur Internet et j'ai fait pas mal de copier/coller.

    En fait, il y a une chose qui me bloque en terme de conception. Je suis un débutant et je n'arrive pas encore à anticiper comment faire pour relier des parties de mes fichiers galerie.js et galerie.html

    Dans le HTML, je dois mettre des <div> avec un id et dans le javascript ensuite j'envoie l'image?
    Par exemple (dans galerie.js):
    document.getElementById("grandeImage").src = "/images/3-contenu/galerie-images/" + e.target.id + ".png";


    Comment concevoir son application? J'avoue que je ne maîtrise pas les addEventListner, mais je comprends au moins que ça écoute les actions.

  4. #4
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Citation Envoyé par philub Voir le message
    j'ai besoin de vous pour me trouver des exemples qui fonctionnent
    À ton service Je viens d'uploader un userscript que j'ai fait il y a quelques années. Il marche avec une extension de type Greasemonkey mais ça devrait être facile de l'adapter en script « normal ».

    http://pastebin.com/MBHUFX4d
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Un exemple très similaire à ce que je recherchais
    Je pense que j'ai trouvé l'exemple le plus utile.


    http://dev.twiip.ch/scripts/gallery/gallery.php


    Script développé par Julien Theler

Discussions similaires

  1. Navigation galerie d'images
    Par Ysae68 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/08/2013, 11h14
  2. Réponses: 1
    Dernier message: 06/02/2013, 11h55
  3. créer une navigation pour une galerie d'images
    Par exter666 dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 08/08/2012, 16h15
  4. [FLASH MX2004] Changer l'image d'un bouton
    Par exe dans le forum Flash
    Réponses: 3
    Dernier message: 05/12/2004, 14h26
  5. Bouton de navigation
    Par thierry sache dans le forum Flash
    Réponses: 2
    Dernier message: 17/12/2002, 11h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo