Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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,我想知道如何区分两个不同的事件“上卷”和“下卷”。函数1应在汇总时执行,函数2应在汇总时执行。 我刚刚看到onmouseheel和onscroll事件,它们在roll-up/down上都被调用 为了澄清我的问题: function up(){ alert("you rolled up with mouse wheel")}; function down() { alert("you rolled down with mouse wheel")}; 如何避免同时执行上述函数?如果要使用jQu

我想知道如何区分两个不同的事件“上卷”和“下卷”。函数1应在汇总时执行,函数2应在汇总时执行。 我刚刚看到
onmouseheel
onscroll
事件,它们在roll-up/down上都被调用

为了澄清我的问题:

function up(){  alert("you rolled up with mouse wheel")};
function down() { alert("you rolled down with mouse wheel")}; 

如何避免同时执行上述函数?

如果要使用jQuery,可以检查此答案:


基本上,您存储最后一个滚动值,并将其与新滚动值进行比较。还有一个很酷的代码笔示例,带有一个delta值,用于配置解决方案的敏感性:

好吧,如果我不想滚动页面怎么办。?就像我加上e.preventDefault();为了避免窗口被滚动,这个问题来自于当我看到一个水平滑块时,随着向上滚动,它会向右移动,随着向下滚动,它会向左移动,它有e.preventDefault();为了避免在光标位于滑块上时滚动窗口,请检查以下答案:(感谢@epascarello)非常感谢您,这是正确的解决方案,
var lastScrollTop = 0;
$(window).scroll(function(event){
   var st = $(this).scrollTop();
   if (st > lastScrollTop){
       // downscroll code
   } else {
      // upscroll code
   }
   lastScrollTop = st;
});