检测鼠标滚轮的使用情况,但保持页面滚动(javascript/jquery)

Detect mousewheel usage but keep the page scrolling (javascript/jquery)

本文关键字:滚动 javascript jquery 鼠标 情况 用情 检测      更新时间:2023-09-26

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

用户已使用鼠标滚轮:boolean=真实

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

我是新手,所以不要太过火,谢谢。

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

 $(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

如果函数返回false,根据JavaScript框架的不同,滚动的默认行为可能会受到影响。

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

类似这样的东西:

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

在你的应用程序中,你可以在不干扰真实滚动事件的情况下进行计算。

$(document).on('MyApp/ScrollHappened', function(event, ...){
   //Doing my calculations
})