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

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

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

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

$('#box').mouseleave(function(){
	console.log('Убрал');
});
  • Вопрос задан
  • 657 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 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);
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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