Задать вопрос
@ApachEsH

Как правильно прикрутить setTimeout для mouseenter/mouseleave?

Нужен delay в 5000ms для mouseenter/mouseleave. Но при одном условии, если курсор убран раньше 5 секунд, то функцию не выполнять

$('#box').mouseenter(function(){
	console.log('Навел');
});

$('#box').mouseleave(function(){
	console.log('Убрал');
});
  • Вопрос задан
  • 652 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
https://jsfiddle.net/L7ub1jsn/
function enter(){
console.log('Навел');
}
var timeout = null;

$('#box').mouseenter(function(){
  clearTimeout(timeout);
  timeout = setTimeout(enter, 5000);
});

$('#box').mouseleave(function(){
  clearTimeout(timeout);
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы