J'ai un <div>
, et je veux basculer ses classes en survol.
Voici mon code:
function a(){
this.classList.toggle('first');
this.classList.toggle('sec');
}
document.querySelector('#container').addEventListener('click', a );
Je sais qu'il n'y a pas de problème dans mon code HTML ou CSS. C'est juste que je dois changer et mettre quelque chose à la place de click
, mais je ne sais pas quoi.
S'il vous plaît aider!
L'événement de survol s'appelle "mouseenter" au lieu de "cliquer".
<script type="text/javascript">
function a(){
this.classList.toggle('first');
this.classList.toggle('sec');
}
document.querySelector('#container').addEventListener('mouseenter', a )
document.querySelector('#container').addEventListener('mouseleave', a )
</script>
Bien que l'approche de Tom Chung fonctionne définitivement, il vaut mieux donner mouseenter
et mouseleave
leur propre gestionnaire:
var container = document.querySelector('#container');
container.addEventListener('mouseenter', function(){
this.classList.remove('first');
this.classList.add('second');
})
container.addEventListener('mouseleave', function(){
this.classList.add('first');
this.classList.remove('second');
})
.first {
background: green;
}
.second {
background: orange;
}
<div id="container" class="first">
TEST
</div>
(voir aussi ce violon )