Javascript 检测鼠标滚轮的滚动次数
我正试图达到这样的效果。我想在每次滚动滚轮时执行一个操作,而不管用户尝试滚动多少。如何计算用户尝试滚动的次数?我一直在玩Javascript 检测鼠标滚轮的滚动次数,javascript,jquery,html,css,scroll,Javascript,Jquery,Html,Css,Scroll,我正试图达到这样的效果。我想在每次滚动滚轮时执行一个操作,而不管用户尝试滚动多少。如何计算用户尝试滚动的次数?我一直在玩$(窗口)。在('scroll'…)上。谢谢你的意思是这样的: (function() { var scroll = 0; $(document).on('mousewheel DOMMouseScroll', function(event) { scroll++; console.log(event); });
$(窗口)。在('scroll'…
)上。谢谢你的意思是这样的:
(function() {
var scroll = 0;
$(document).on('mousewheel DOMMouseScroll', function(event) {
scroll++;
console.log(event);
});
$('#click').on('click', function() {
alert(scroll);
});
})();
<button id="click">Show me</button>
(函数(){
var=0;
$(文档).on('mousewheel-DOMMouseScroll',函数(事件){
滚动++;
console.log(事件);
});
$('click')。在('click',function()上{
警报(滚动);
});
})();
给我看
(很明显,你可以把你自己的代码放在这里,而不是
scroll++;
)结果证明,我真正需要的是找到滚动停止的时间。找到了解决方案
谢谢不确定,但在我看来,他们只是隐藏了滚动条,然后当启动$(window).on('scroll',…)时,您可以使用$(window.scrollTop()确定是向上还是向下滚动?和动画。我已经尝试过类似的方法,但我想我需要的是一种方法来确定滚动是否已停止片刻,然后增加1。通过这种方法,我可以知道用户尝试滚动的次数,而不是距离。您可以从事件本身获得距离。我不知道此属性在IE10或任何其他版本中都可用其他现代浏览器:
var scrolls = 0;
$(window).scroll(function(){
clearTimeout($.data(this, 'scrollTimer'));
$.data(this, 'scrollTimer', setTimeout(function() {
pos++;
}, 50));
});