@Stoble

Почему не работает setTimeout?

Почему не работает setTimeout в этом коде
let items = document.querySelectorAll('.header__under--item')

for (let i = 0; i < items.length; i++) {
    let item = items[i];
    let childOne = item.children[1]
    console.log(childOne)
    item.addEventListener('mouseover', ()=>{
        addClass(childOne)
    })

    item.addEventListener('mouseout', ()=>{
        setTimeout(removeClass(childOne), 5000)
    })
    
}


function addClass(childOne) {
    childOne.classList.add('hidden')
}

function removeClass(childOne) {
    childOne.classList.remove('hidden')
}
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
Aetae
@Aetae
Тлен
Потому что removeClass(childOne) - это вызов функции removeClass с параметром childOne прямо тут где указано. По таймауту же происходит вызов возвращённого функцией removeClass значения(в данном случае undefined).
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
yarkov
@yarkov Куратор тега JavaScript
Проект "Жизнь после смерти" - lifeafterdeath.ru
setTimeout(() => {
  removeClass(childOne);
}, 5000)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы