Javascript 如何区分向上滚动和向下滚动鼠标事件
我想知道如何区分两个不同的事件“上卷”和“下卷”。函数1应在汇总时执行,函数2应在汇总时执行。 我刚刚看到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
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;
});