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