3

我正在使用 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

4

2 回答 2

1

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

var timer; 

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

这不会停止事件触发,但会阻止您的函数在每次事件触发时运行。

于 2011-01-04T17:10:56.883 回答
0

病了,明白了。如果你在里面运行动画,只需在它前面加上 .stop() 所以它会读

$('#findme').stop().animate(...);
于 2011-03-11T22:46:28.700 回答