在淡入/淡出期间,Jquery,禁用/忽略hover事件?

我正在试图弄清楚这是否可行。我有一个基于hover在某些部分上的淡入/淡出的图像映射..问题是当用户在淡入淡出期间徘徊到不同的区域时它完成它正在做的淡入淡出然后对鼠标被移动到的区域做了一个..如果用户在几个不同的区域之间快速移动,那么淡入淡出显得非常跳跃和笨拙,所以我希望能够禁用hover事件(在另一次淡入淡出的过程中,它会忽略它。

我曾考虑使用某种延迟,但我不知道这是否可行,因为我认为它会延迟衰退……任何建议都表示赞赏。

我认为你指的是那里的队列建立问题。 尝试在动画方法之前使用stop方法,例如:

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

更多信息:

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

至于流畅的动画,你可以去jQuery Easing插件 。

在没有看到您的代码的情况下,您的工具可以混合使用: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的末尾。

参考:: 动画选择器 , .stop(),. is ()