-1

我需要检测鼠标滚轮的使用情况,但是当我添加一个事件侦听器时,无论我如何摆弄它,它都会阻止整个页面滚动。我也尝试过使用 Brandon 的鼠标滚轮插件,但无济于事。我需要一些简单的东西,比如这个模型代码:

用户已使用鼠标滚轮:boolean=true

如果 boolean==true:执行代码,然后将 boolean 改回 false,直到下次使用鼠标滚轮。

我是新手,所以不要过度使用它,谢谢。

4

2 回答 2

0

我想你需要这样的东西。请记住,这也将检测键盘滚动(向下键)。如果您只想检测滚动:

 $(window).scroll(function () {

        //scroll
 );

如果你想在上下滚动之间推迟:

  var lastScrollTop = 0;
     $(window).scroll(function () {
            var st = $(this).scrollTop();
            //downscroll      
            if (st > lastScrollTop){

            }
            //upscroll
            else{

            }
        lastScrollTop = st;

    );

对不起,我的答案不是你要找的。使用 Abdul Sy 的答案,而不是滚动,查看此绑定鼠标滚轮事件 - http://www.jquerysdk.com/api/event-mousewheel

于 2013-08-28T11:07:13.783 回答
0

如果您的函数返回 false,则取决于 JavaScript 框架,滚动的默认行为可能会受到影响。

我建议只触发一个自定义事件来收听您的滚动。

像这样的东西:

$(document).mousewheel(function(e){
   $(document).trigger('MyApp/ScollHappened', iCanPassValues); 
});

在您的应用程序中更高一点,您可以在不干扰实际滚动事件的情况下执行计算。

$(document).on('MyApp/ScrollHappened', function(event, ...){
   //Doing my calculations
})
于 2013-08-28T10:59:44.480 回答