Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.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 如何在jquery中计算鼠标滚轮滚动_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何在jquery中计算鼠标滚轮滚动

Javascript 如何在jquery中计算鼠标滚轮滚动,javascript,jquery,html,css,Javascript,Jquery,Html,Css,如何在jquery/javascript中计算鼠标滚动? 与初始值0类似,向下滚动++1,向上滚动--1。 而不是-1。必须是积极的 如果向下滚动2次,则值将为2,然后向上滚动一次,则值将为1 scrollcount=0; $(document).ready(function(){ $("div").scroll(function(){ $("span").text(scrollcount+=1); }); }); 该代码比较滚动条的位置scrollPos显示向下移动滚动条的像

如何在jquery/javascript中计算鼠标滚动? 与初始值0类似,向下滚动++1,向上滚动--1。 而不是-1。必须是积极的

如果向下滚动2次,则值将为2,然后向上滚动一次,则值将为1

scrollcount=0;
$(document).ready(function(){
  $("div").scroll(function(){
    $("span").text(scrollcount+=1);
  });
});
该代码比较滚动条的位置
scrollPos
显示向下移动滚动条的像素数,并使用值
0
初始化,因为它从顶部开始

滚动页面时,
scrollPosCur
将首先保存滚动条的当前位置。之后,我们比较值的变化情况:

如果当前值大于保存的值,则表示滚动条已向下移动,因此您的
计数器将增加
1
。 与此类似,当
scrollPosCur
小于
scrollPos
时,我们将
计数器
递减
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;
});
var scrollCount=0,
latestScrollTop=0,
doc=document.documentElement,
top=0;
//绑定窗口滚动事件
$(窗口).bind('scroll',函数(e){
top=(window.pageYOffset | | doc.scrollTop)-(doc.clientTop | | 0);
如果(最晚滚动顶部<顶部){
//向下滚动,增加值
滚动计数+=1;
}否则{
//向上滚动,减小值
滚动计数-=1;
}
//为下一个位置计算存储最新的滚动位置
latestScrollTop=顶部;
});

这是怎么想的:(scrollPosCur>scrollPos)?@JasjeetSingh:最后确定了答案。谢谢,它对我有用@Mike Vranckx的答案也是有效的。你可以将这两个选项都向上投票并将你最喜欢的标记为“已批准”。这有一些有用的答案。新值将存储在滚动后的顶部?我说得对吗存储下一个位置计算的最新滚动位置要确定是向上滚动还是向下滚动,我们需要存储此值以供下次验证。滚动量所需的值为
scrollCount
latestScrollTop
提供了在浏览器中滚动的像素量
scrollCount
是一个增量变量,是您要求的。
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;
});
$(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;
    });