не срабатывает отмена закрытия меню
Есть меню, которое должно закрывать, когда убираешь мышь с него, и не закрываться, если возвращаешься (так надо, потому что меню чуть ниже отрывающего его элемента) пытался так, но не работает, меню все равно закрывается:
function showHideMenu (e) {
//здесь проверки на cl
if (!cl) {
closeTimeout = setTimeout (hideDDMenu, 500);
} else {
openDDMenu();
clearTimeout (closeTimeout);
}
console.log(closeTimeout)
}
Ответы (1 шт):
Автор решения: Danil
→ Ссылка
Я правильно понял? Тебе так нужно? Сделал на примере с input
const block = document.querySelector('.search');
document.addEventListener('mouseover', active)
function active(event){
if(event.target.closest('.search__button')){
block.classList.add('active-search')
} else if (!event.target.closest('.search')){
block.classList.remove('active-search')
}
}
.search{
display: flex;
height: 45px;
}
.search__input{
display: none;
}
.active-search input{
display: block;
min-height: 100%;
width: 200px;
}
.search__button{
min-height: 100%;
}
.search span:first-child{
display: block;
}
.search span:last-child{
display: none;
}
.active-search span:first-child{
display: none;
}
.active-search span:last-child{
display: block;
}
<div class="search">
<input type="search" maxlength="16" class="search__input">
<button class="search__button ">
<span>Открыть меню</span>
<span>Закрыть меню</span>
</button>
</div>