如何为鼠标悬停提供时间延迟

时间:2010-11-12 10:48:19

标签: jquery jquery-animate mouseover

我有以下代码

$(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 个答案:

答案 0 :(得分:1)

AFAIK,有jQuery plugin HoverIntent来处理这个问题。

  

overIntent是一个尝试的插件   确定用户的意图......就像   一个水晶球,只有鼠标   运动!它的工作原理(并且是   源自jQuery的内置悬停。   但是,而不是立即   它调用了onMouseOver函数   等到用户的鼠标变慢   在打电话之前已经足够了。

     

为什么呢?延迟或阻止   意外射击动画或   ajax电话。简单的超时工作   小区域,但如果你的目标区域   它很大,无论如何都可以执行   意图。