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(...);