【问题标题】:Jquery, disable / ignore hover event during fade in / out?Jquery,在淡入/淡出期间禁用/忽略悬停事件?
【发布时间】:2010-07-25 09:45:03
【问题描述】:

我试图弄清楚这是否可能。我有一个图像地图,它会根据悬停在某些部分上来淡入/淡出。问题是当用户在淡入淡出它完成它正在做的淡入淡出,然后对鼠标移动到的区域进行淡入淡出。如果用户在几个不同的区域之间快速移动,那么淡入淡出看起来真的很跳跃和尴尬,所以我希望能够禁用在另一个淡入淡出进行期间的悬停事件(淡入淡出),因此它只是忽略它..

我曾考虑过使用某种延迟,但我不知道这是否可行,因为我认为它也会延迟淡入淡出。感谢任何建议。

【问题讨论】:

    标签: jquery hover fadein


    【解决方案1】:

    没有看到您的代码,您的工具是:animated 和jQuerys .stop() 方法的混合体。

    可能看起来像

    $('imagemap').hover(function(){
       // only do something if no animation is in process (like fading)
       if(!$(this).is(':animated')){
       }
    }, function(){
    });
    

    您也可以在链中的任何.fadeIn() 之前调用.stop(true, true)。这将停止当前动画并跳转到fx queue 的末尾。

    参考::animated selector.stop().is()

    【讨论】:

    • 谢谢..我现在明白了,只是不知道要搜索什么术语我猜
    【解决方案2】:

    我认为您指的是queue buildup 那里的问题。尝试在动画方法之前使用stop 方法 例如:

    $(...).stop().fadeIn();
    

    更多信息:

    http://www.learningjquery.com/2009/01/quick-tip-prevent-animation-queue-buildup

    至于流畅的动画,你可以去jQuery Easing Plugin

    【讨论】:

    • 谢谢..这有帮助,我真的不知道正确的术语来搜索这方面的信息,我会看看你提供的 inf
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多