使用 vanilla JS 获取滚动位置和方向

Axi*_*iol 5 javascript scroll

我试图在不使用 jQuery 的情况下完成一个项目。直到现在看起来还不错。但是,有一些我无法管理:滚动位置和方向。

我基本上想要的是当我们到达一个点时向一个元素添加一个类,当我们到达同一点时删除该类,但是,向上。

小智 7

你会想要使用

var scrollObject = {};
window.onscroll = getScrollPosition;

function getScrollPosition(){
    scrollObject = {
       x: window.pageXOffset,
       y: window.pageYOffset
    }
    // If you want to check distance
    if(scrollObject.y > 200) {
        // add class
    } else {
        // remove class
    }
}
Run Code Online (Sandbox Code Playgroud)

也就是说,我强烈建议研究一种节流方法来提高这种方法的性能。


小智 5

JSFiddle最近创建了一个它可能会帮助您完成这项工作。http://jsfiddle.net/UFV7R/5/您必须包括从滚动位置进行的检测,您可以通过存储最后一个滚动条位置并将其与当前位置进行比较来实现。