Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何计算滚动事件的数量_Javascript_Jquery - Fatal编程技术网

Javascript 如何计算滚动事件的数量

Javascript 如何计算滚动事件的数量,javascript,jquery,Javascript,Jquery,在这里,我试图计算我触发的滚动条的数量。我通常可以得到卷轴的数量,但我想得到我卷轴的次数。假设,如果我通常滚动一次,它包含了将近4到7个滚动事件,我想把它看作是一个。当我滚动一个小卷轴或一个长卷轴时,我想计算一下我滚动了多少次 这是小提琴 您需要在您的活动中: var timer; $(window).on('wheel', function(e) { clearTimeout(timer); timer = setTimeout(function () {

在这里,我试图计算我触发的滚动条的数量。我通常可以得到卷轴的数量,但我想得到我卷轴的次数。假设,如果我通常滚动一次,它包含了将近4到7个滚动事件,我想把它看作是一个。当我滚动一个小卷轴或一个长卷轴时,我想计算一下我滚动了多少次

这是小提琴

您需要在您的活动中:

var timer;

$(window).on('wheel', function(e) {
     clearTimeout(timer);

     timer = setTimeout(function () {
         // Calculate scrolls here
     }, 100);
}
您需要在您的活动中:

var timer;

$(window).on('wheel', function(e) {
     clearTimeout(timer);

     timer = setTimeout(function () {
         // Calculate scrolls here
     }, 100);
}

这类场景有一个定义良好的模式。例如,lodash的节流阀去盎司

  • 去Bounce:将突发事件(如击键)组合成单个事件
  • 节流:保证每X毫秒执行一次恒定流。比如每200毫秒检查一次滚动位置以触发CSS动画
请尝试以下代码:

_.debounce(yourFunction, 300); 

这类场景有一个定义良好的模式。例如,lodash的节流阀去盎司

  • 去Bounce:将突发事件(如击键)组合成单个事件
  • 节流:保证每X毫秒执行一次恒定流。比如每200毫秒检查一次滚动位置以触发CSS动画
请尝试以下代码:

_.debounce(yourFunction, 300); 

wheel
事件没有
wheelDelta
属性,请改为选中
deltaY
wheel
事件没有
wheelDelta
属性,请改为选中
deltaY