Как переключить класс, используя чистый JavaScript в HTML
У меня есть <div>
и я хочу переключать свои классы при наведении.
Вот мой код:
function a(){
this.classList.toggle('first');
this.classList.toggle('sec');
}
document.querySelector('#container').addEventListener('click', a );
Я знаю, что нет никаких проблем в моем HTML или CSS. Это просто, что я должен изменить и положить что-то вместо click
но я не знаю что.
Пожалуйста помоги!!
2 ответа
Событие при наведении курсора называется "указатель мыши" вместо "щелчок".
<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>
Хотя подход Tom Chung определенно работает, лучше дать mouseenter
а также mouseleave
их собственный обработчик:
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>
(см. также эту скрипку)