Le besoin n'est pas très clair, tu dis ce que fais ton code actuellement et que c'est pas ce que tu veux sans dire ce que tu veux que ça fasse.
Tu veux que après avoir clické, le onMouseOut remette l'image like3 au lieu de like ? Et donc mouseOver et mouseOut vont faire s'alterner like2 et like3 ?
Si c'est ça :
<img class="like" height="25" src="/page/logo/like.png"
onmouseover="javascript:this.src='/page/logo/like2.png';"
onmouseout="javascript:if(this.classList.contains('clicked')) this.src='/page/logo/like3.png'; else this.src='/page/logo/like.png';"
onclick="javascript:this.classList.toggle('clicked');this.src='/page/logo/like3.png';"/>
Explication: T'as besoin d'un état pour savoir que t'as cliqué sur l'image, ça se traduit par l'ajout de la classe 'clicked' sur l'image. Donc quand tu fais mouseOut tu peux vérifier si la classe est présente ou non pour savoir quoi mettre dans src.
Ici j'utilise classList.toggle pour pour pouvoir annuler le premier click si tu cliques de nouveau mais c'est peut-être pas ça ton besoin, je ne fais que des suppositions. Tu peux remplacer classList.toggle par classList.add si tu veux que le cliq soit définitif
Message édité le 13 août 2023 à 20:40:12 par mynameisflash