停止jquery排队事件

时间:2010-08-29 09:10:37

标签: jquery

所以,

我有这个演示网站:

http://webspirited.com/ha2/

如果将鼠标悬停在主标题上(不在ie中)。你会注意到图像有点变化,

这就是我想要的。

然而敏锐的目光会注意到,如果你在开 - 关 - 开 - 关 - 开 - 关 - 它会将事件排队。

如何阻止它执行此操作?

2 个答案:

答案 0 :(得分:6)

j为.stop()提供救援。

$('#element').stop(true, true).animate({});

如果您使用jQuery进行任何类型的动画,stop()将结束队列。第一个参数表示是否清除完整队列,第二个参数表示是否跳转到当前运行动画的末尾。

您在此处获得的另一个选项是检查元素当前是否已设置动画,如果是,则跳过新的.animate方法。例如:

$('#element').hover(function(){
   if(!$(this).is(':animated'){  // only go in here if $(this) is NOT animated
      // $(this).animate({});
   }
}, function(){
});

参考:.stop():animated

答案 1 :(得分:1)

看一下这个插件:http://cherne.net/brian/resources/jquery.hoverIntent.html

  

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