Partage
  • Partager sur Facebook
  • Partager sur Twitter

Hover aléatoire

Ma fonction getElementByClassName ne fonctionne pas

Sujet résolu
    16 novembre 2017 à 15:56:49

    Hello, 

    Je réalise un site où sur la homepage, il m'est demandé d'intégrer 3 pictos aléatoirement. Grâce une fonction array ça marche.

    Ensuite, il faut intégrer un hover aléatoire sur cette photo, là j'ai utilisé ramdomPick de JS. Le hover aléatoire fonctionne avec le fonction getElementByID mais lorsque je souhaite passer cette fonction à getElementByClassName (pour appliquer le hover aux 3 pictos). La fonction ne marche plus.

    Auriez-vous une idée ? Je débute JS, mais n'arrive pas à trouver la solution qui doit être simple pourtant. 

    Mon JS :

    // Random Rollhover1
            function randomPick(arr) {
              var selected = arr[Math.floor(Math.random()*arr.length)]
              return selected;
            }
            images = 
            [ 
            "asset/PICTURES/ICONS/picto1.png",
            "asset/PICTURES/ICONS/picto2.png",
            "asset/PICTURES/ICONS/picto3.png",
            "asset/PICTURES/ICONS/picto4.png",
            "asset/PICTURES/ICONS/picto5.png",
            ]
            function randomHover () {
    
              var myImage = document.getElementByClassName('hover');
              var selImage = randomPick(images);
    
              myImage.src = selImage;
            }
    
            function resetState() {
    
              var myImage = document.getElementByClassName('hover');
              myImage.src = "image_aleatoire1.php";
            }

    Puis mon code HTML :

     <div class="one_third first" style="width: 30.288344%; margin-left: 1%;">
    
              <img class="home_icons hover" src="image_aleatoire1.php" onmouseover="randomHover();" onmouseout="resetState();">
    
            </div>
    
            <div class="one_third" style="width: 30.288344%;">
    
              <img class="home_icons hover" src="image_aleatoire2.php" onmouseover="randomHover();" onmouseout="resetState();">
    
            </div>
    
            <div class="one_third" style="width: 30.288344%;">
    
              <img class="home_icons hover" src="image_aleatoire3.php" onmouseover="randomHover();" onmouseout="resetState();">
    
            </div>



    -
    Edité par JimPsqt 16 novembre 2017 à 17:40:41

    • Partager sur Facebook
    • Partager sur Twitter
      16 novembre 2017 à 17:52:00

      Et si tu laisse un id sur tes images tout en continuant de les récupérer comme tu fais avec le document.getElementByClassName()

      Peut etre que ton plugin attend l'attribut id sur tes balises images


      • Partager sur Facebook
      • Partager sur Twitter
      J'échange des connaissances. Si je les donnais, je n'en aurais plus
        17 novembre 2017 à 17:24:17

        En fait la solution c'était de rajouter un s à Element : 

        getElementsByClassName

        Merci beaucoup pour ton aide,

        • Partager sur Facebook
        • Partager sur Twitter
          18 novembre 2017 à 6:01:06

          clique sur résoluuuuuuuuuuuuu
          • Partager sur Facebook
          • Partager sur Twitter
          J'échange des connaissances. Si je les donnais, je n'en aurais plus

          Hover aléatoire

          × 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