@Alexey10

Как отследить убирание мыши jquery?

Ребят, всем привет))
Такой интересный вопрос:
$('#navbar-left ul > li').on('mouseleave', function(){
setTimeout (function(){
$(this).addClass('selected');

}.bind(this), 500);
});
Написал код, при убирании мыши, добавляем класс selected, через 0.5 сек. Такая ситуация, код работает исправно, но мне нужно как-то отследить такой момент. Чтобы класс добавлялся через 0.5 сек, только в том случае, если в течении 0.5 сек, я мышку не верну обратно. То есть, если я убрал мышку с блока, но успел вернуть её в течении 0.5 сек, класс selected не добавляеться. Надеюсь нормально обьяснил. Просьба помочь)) Буду благодарен всем)))
  • Вопрос задан
  • 332 просмотра
Решения вопроса 2
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Делаете setTimeout после убирания мыши на 0.5 сек, который добавит класс. И если навести мышкой, то этот таймер убивается clearTimeout
Ответ написан
@tyzberd
var timer;
    var dropdownLink = $(".js-nav-dropdown");
    var dropdownBlock = dropdownLink.find(".jsCountry");
    dropdownLink.on("mouseover", function () {
        clearTimeout(timer);
        dropdownBlock.show(300);
    }).on("mouseleave", function () {
        timer = setTimeout(
            function () {
                dropdownBlock.hide(300);
            }, 600);
    });
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
28 нояб. 2024, в 05:21
2000 руб./за проект
28 нояб. 2024, в 05:18
500 руб./за проект
28 нояб. 2024, в 03:51
3500 руб./за проект