如何统计jquery/javascript中的滚动鼠标? 像初始值0一样,向下滚动++ 1并向上滚动--1。 而不是-1。必须是积极的。如何统计jquery中的鼠标滚轮滚动
如果我滚动2次向下然后值将是2,然后滚动一次最多然后值是1。
如何统计jquery/javascript中的滚动鼠标? 像初始值0一样,向下滚动++ 1并向上滚动--1。 而不是-1。必须是积极的。如何统计jquery中的鼠标滚轮滚动
如果我滚动2次向下然后值将是2,然后滚动一次最多然后值是1。
这里是你的问题
var scrollCount = 0,
latestScrollTop = 0,
doc = document.documentElement,
top = 0;
// Bind window scroll event
$(window).bind('scroll', function (e) {
top = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);
if (latestScrollTop < top) {
// Scroll down, increment value
scrollCount += 1;
} else {
// Scroll up, decrement value
scrollCount -= 1;
}
// Store latest scroll position for next position calculation
latestScrollTop = top;
});
新值会在滚动后存储在顶端? 对不对? //商店下一位置计算最新滚动位置 – 2015-03-02 13:15:50
要确定我们是否向上或向下滚动,我们需要存储的下一个验证此值。滚动量需要的值是“scrollCount”。 – 2015-03-02 13:23:17
这两种方法都适用于我 – 2015-03-02 13:43:55
scrollcount=0;
$(document).ready(function(){
$("div").scroll(function(){
$("span").text(scrollcount+=1);
});
});
$(document).ready(function(){
var scrollPos = 0;
var Counter = 0;
$(window).scroll(function(){
var scrollPosCur = $(this).scrollTop();
if (scrollPosCur > scrollPos) {
Counter -= 1;
} else {
Counter += 1;
}
scrollPos = scrollPosCur;
});
});
的代码进行比较的滚动条的位置。 scrollPos
显示您向下移动滚动条的像素数量,它的初始值为0
,因为它从顶部开始。
当您滚动页面时,scrollPosCur
将首先保存滚动条的当前位置。之后,我们比较数值如何变化:
如果当前值大于保存的值,则表示滚动条已向下移动,因此您的Counter
增加了1
。 与此相似,当scrollPosCur
小于scrollPos
时,我们将Counter
递减1
。
为了保持代码正常工作,我们保存当前值以便与将来的滚动事件进行比较。
这是怎么回事:(scrollPosCur> scrollPos)? – 2015-03-02 13:08:00
@JasjeetSingh:最终确定了答案。 – Tacticus 2015-03-02 13:27:49
谢谢它适合我。 @Mike Vranckx的答案也有效。 – 2015-03-02 13:43:08
$(window).scroll(function() {
if ($(this).scrollTop() > 100) {
$('.scrollToTop').fadeIn();
} else {
$('.scrollToTop').fadeOut();
}
});
//Click event to scroll to top
$('.scrollToTop').click(function() {
$('html, body').animate({ scrollTop: 0 }, 800);
return false;
});
这[获取jQuery的鼠标滚轮事件(http://stackoverflow.com/questions/8189840/get-mouse-wheel-events一个可能的解决方案-in-jquery)有一些有用的答案。 – lshettyl 2015-03-02 13:15:03