Partage
  • Partager sur Facebook
  • Partager sur Twitter

Sélection d'un élément

Sujet résolu
    20 avril 2018 à 18:59:47

    Bonjour,

    J'ai un script qui permet d'afficher des div jusque-là cachés en appuyant sur un bouton. Le but étant de faire des boutons de mise en page (un peu comme sur le forum d'openclassroom, bien que ce dernier utilise plutôt la fonction alert).

    Voici le script en question :

    function dropdown() {
    	var dropdowns = document.getElementsByClassName("dropdown-content");
    	var i;
    	for (i = 0; i < dropdowns.length; i++) {
    		var openDropdown = dropdowns[i];
    		openDropdown.classList.toggle("show");
    	}
    }

    Chaque bouton dont je souhaite dérouler un div se construit comme ceci :

    <div class="dropdown"><input type="button" class="dropbtn" onclick="dropdown()" />
    <div class="dropdown-content">
    Contenu du div : mini formulaire, émoticones, etc.
    </div></div>

    Le problème, c'est que lorsque je clique sur un bouton, l'évènement s'applique pour tous les éléments "dropdown-content". Alors que je voudrais que ça s'applique seulement au div suivant celui qui subit l'évènement onclick. Savez-vous comment régler ça ?

    • Partager sur Facebook
    • Partager sur Twitter
      20 avril 2018 à 19:09:27

      Pourquoi utiliser une boucle ?

      -
      Edité par Zoki_Marciano 20 avril 2018 à 19:09:38

      • Partager sur Facebook
      • Partager sur Twitter
      Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet.
        20 avril 2018 à 19:13:55

        Du coup ouais, la boucle ne sert pas pour ce vers quoi je tend. C'est qu'une trace de mes test précédents. Désolé de compliquer le code avec ça !
        • Partager sur Facebook
        • Partager sur Twitter
          20 avril 2018 à 19:21:11

          A mon avis avec les infos que tu nous as donné tu dois mettre un observateur d'événement sur tes boutons.
          • Partager sur Facebook
          • Partager sur Twitter
          Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet.
            20 avril 2018 à 20:45:33

            Je ne sais pas si c'est ça que tu appelais observateur d'évènement, mais j'y suis parvenu en creusant cette piste !

            Voilà mon code, très simple :

            function dropdown(event) {
                var dropdown = document.getElementsByClassName("dropdown-content")[event];
                dropdown.classList.toggle("show");   
            }

            Et en ajoutant juste un nombre entre les parenthèses, qui s'incrémente à chacun de mes boutons :

            <input type="button" class="dropbtn" id="pokedex" name="pokedex" onclick="dropdown(0)" />

            Merci du coup !

            • Partager sur Facebook
            • Partager sur Twitter

            Sélection d'un élément

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown