Bonjour,
je fais encore appel à vos compétences, j'ai un système de notation avec des étoiles et une requête préparée qui fonctionne, j'ai du mal à construire la partie js et CSS et j'en suis au début. Je voudrais que quand on fait un mouseover sur une étoile les précédentes étoiles doivent aussi avoir la classe(ex. mousover sur la troisième étoile, la première deuxième et troisième deviennent rouges.
Mon code marche juste sur l'étoile que je pointe, pourtant j'ai essayé dans la console de remonter a l'élément parent de mon étoile puis aux enfants des éléments précédents du même niveau et il sélectionne bien le i précédent (le test je l'ai fais sans boucle avec star[3]...:
Je pense que mon problème vient de la boucle while mais je trouve pas la solution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part let previousStars = star.parentNode.previousElementSibling.childNodes;
mon formulaire :
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 window.onload = () => { //selectionner les etoiles const stars = document.querySelectorAll(".stars button i"); //on boucle sur les etoiles pour ajouter un ecouteur d'evenement for(let star of stars) { star.addEventListener('mouseover', function() { star.classList.add('hover'); //etoiles precedentes let previousStars = star.parentNode.previousElementSibling.childNodes; while(previousStars) { previousStars.classList.add('hover'); previousStars = previousStars.parentNode.previousElementSibling.childNodes } }); } }
merci pour votre aide.
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <div class="stars"> <form action="" method="post"> <button name="btnValueNote" class="disabled" type="submit" value="1"><i class="bi bi-star"></i></button> <button name="btnValueNote" class="disabled" type="submit" value="2"><i class="bi bi-star"></i></button> <button name="btnValueNote" class="disabled" type="submit" value="3"><i class="bi bi-star"></i></button> <button name="btnValueNote" class="disabled" type="submit" value="4"><i class="bi bi-star"></i></button> <button name="btnValueNote" class="disabled" type="submit" value="5"><i class="bi bi-star"></i></button> </form> </div>
Partager