所以我尝试使用 JavaScript on scroll
来调用一个函数。但我想知道我是否可以在不使用 jQuery 的情况下检测滚动的方向。如果没有,那么是否有任何解决方法?
我正在考虑只放置一个“到顶部”按钮,但如果可以的话我想避免这样做。
我现在刚刚尝试使用这段代码,但它没有用:
if document.body.scrollTop <= 0 {
alert ("scrolling down")
} else {
alert ("scrolling up")
}
最佳答案
可以通过存储以前的 scrollTop
值并将当前的 scrollTop 值与它进行比较来检测。
JavaScript :
var lastScrollTop = 0;
// element should be replaced with the actual target element on which you have applied scroll, use window in case of no target element.
element.addEventListener("scroll", function(){ // or window.addEventListener("scroll"....
var st = window.pageYOffset || document.documentElement.scrollTop; // Credits: "https://github.com/qeremy/so/blob/master/so.dom.js#L426"
if (st > lastScrollTop){
// downscroll code
} else {
// upscroll code
}
lastScrollTop = st <= 0 ? 0 : st; // For Mobile or negative scrolling
}, false);
关于javascript - 检测滚动方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31223341/