Почему в js не работает задержка?
document.addEventListener('mouseover', event => {
if(event.target.classList.contains('block')) {
event.target.classList.add('block-active')
}
});
document.addEventListener('mouseout', event => {
if(event.target.classList.contains('block')) {
event.target.classList.remove('block-active').delay(1000)
}
});
body {
display: flex;
align-items: center;
justify-content: center;
}
.block {
width: 200px;
height: 200px;
position: relative;
background: #000;
}
.block-active {
display: none;
}
<body>
<div class="block">
</div>
</body>
Ответы (1 шт):
Автор решения: demark-pro
→ Ссылка
remove().delay() есть в jQuery, но в чистом js у remove() нет такого метода.
Ты должен использовать setTimeout
setTimeout(() => event.target.classList.remove('block-active'), 1000)