jquery mousewheel插件:如何每次滚动只触发一个函数

我正在使用一个moushweel插件,因为我希望我的用户每次向上或向下滚动时都会触发一个动作,但我不希望有多个火焰(如果你有一个苹果魔法鼠标它更糟,因为它太敏感了)

关于如何预防它的任何想法?

这是代码

jQuery(function($) { $('div.mousewheel_example') .bind('mousewheel', function(event, delta) { var dir = delta > 0 ? 'Up' : 'Down', vel = Math.abs(delta); $(this).text(dir + ' at a velocity of ' + vel); return false; }); }); 

这是插件页面http://brandonaaron.net/code/mousewheel/demos

您可以尝试使用window.setTimeout 。 也许通过拉出你的嵌套函数并使用带有计时器的代理函数。 例:

 var timer; function proxyFunction(){ clearTimeout(timer); timer = setTimeout("mouseWheelAction", 1); } 

这不会停止事件触发,但它会在每次事件触发时停止运行。

哎呀,得到了它。 如果你正在运行一个动画,只需在其前面加上.stop()就可以了

 $('#findme').stop().animate(...);