Afficher/masquer un élément sur click
Bonjour,
J'ai un tableau qui contient une image (loupe) dans une cellule de chaque ligne.
Lorsque je clique sur la loupe, je veux afficher un div.
Lorsque je clique ailleurs que sur l'image qui a provoqué l'affichage, je veux masquer ce div.
Lorsque je clique sur une autre image que celle qui a provoqué l'affichage, je peux soit modifier directement le contenu du div (innerHTML) soit le masquer dans un premier temps et nécessiter alors un autre clic pour afficher le nouveau contenu.
Code:
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
| const
glasses = document.querySelectorAll("[src*='glass.png']")
,comment = document.querySelector(".comment")
;
// display comment
window.document.addEventListener('DOMContentLoaded', function(e)
{
comment.classList.add('hidden');
});
window.document.addEventListener('click', function(e)
{
comment.classList.add('hidden');
});
for(let i=0, max=glasses.length; i<max; i++)
{
(function(img2)
{
img2.addEventListener('click', function(e)
{
comment.classList.remove('hidden');
});
})(glasses[i]);
} |
Je pense que c'est l'évènement de la ligne 12 qui intervient après celui de la ligne 21.