Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Срабатывание события при условии (https://javascript.ru/forum/events/63032-srabatyvanie-sobytiya-pri-uslovii.html)

freelancerphpcss 13.05.2016 14:28

Срабатывание события при условии
 
Здравствуйте есть такой код
$('.recommend-list').on('mouseenter', 'li', function(e) {
                    var index = $(this).attr('data-marker'),
                        marker = myCollection.get(index);

                    myMap.hint.close(true);
                });


Смысл в том что если навели на элемент курсор, то закрывается hint у карты. Проблема в том что пользователь может случайно навести курсор на другой элемент(когда передвигается в другое место сайта). Я хочу сделать чтобы событие mouseenter срабатывала только в том случае если курсор находится на элементе в течении 0.4 секунды. Как это сделать?

freelancerphpcss 13.05.2016 16:49

такое вообще реально сделать?

рони 13.05.2016 17:28

freelancerphpcss,setTimeout
по 'mouseenter' обнулите и установите таймер, по mouseleave только обнулите

рони 13.05.2016 17:35

freelancerphpcss,
var timer, pause = 400;
    $(".recommend-list").on("mouseenter mouseleave", "li", function(e) {
        window.clearTimeout(timer);
        if (e.type == "mouseenter") {
            var index = $(this).attr("data-marker"),
                marker = myCollection.get(index);
            timer = window.setTimeout(function() {
                myMap.hint.close(true)
            }, pause)
        }
    })

freelancerphpcss 13.05.2016 20:19

спасибо большое:)


Часовой пояс GMT +3, время: 04:52.