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

时间:2014-04-21 20:40:17

标签: javascript scroll

我正在尝试在不使用jQuery的情况下完成项目。直到现在看起来很好。但是,我无法管理:滚动位置和方向。

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

您将要使用

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
    }
}

尽管如此,我强烈建议您研究一种限制方法来提高此方法的性能。