как дать задержку при наведении мыши - PullRequest
0 голосов
/ 12 ноября 2010

У меня есть следующий код

$(document).ready(function(){

    //When mouse rolls over
    $("#nav #nav_li").mouseover(function(){
        $(this).stop().animate({height:'140px', width:'182px'},{queue:false, duration:600})
    });

    //When mouse is removed
    $("#nav #nav_li").mouseout(function(){
        $(this).stop().animate({height:'11px', width:'146px'},{queue:false, duration:900})
    });


});

В том случае, когда я делаю мышь над внезапно анимированными работами

, когда я наводю курсор мыши на #nav_li, он оживляет через несколько секунд

Спасибо, ребята

1 Ответ

1 голос
/ 12 ноября 2010

AFAIK, есть плагин jQuery HoverIntent для решения этой проблемы.

overIntent - это плагин, который пытается определить намерения пользователя ... как кристаллмяч, только движением мыши!Он работает как (и был получен из) встроенного наведения jQuery.Однако вместо немедленного вызова функции onMouseOver она ждет, пока мышь пользователя не замедлится достаточно, прежде чем сделать вызов.

Почему?Чтобы задержать или предотвратить случайный запуск анимации или вызовов AJAX.Простые тайм-ауты работают для небольших областей, но если ваша целевая область велика, она может выполняться независимо от цели.

...