如何使用vanilla JavaScript滚动到顶部?

时间:2013-01-18 18:21:49

标签: javascript scroll offset

我试图在vanilla JS中模仿scrollTop(jQuery),所以点击它会滚动到一个元素。这很好 - 除非你已经滚过元素。所以它不会以相反的方式滚动。我的公式应该包含window.pageYOffset吗?

var moves = function(scrollz) {
    var scrollPos = document.getElementById(scrollz).offsetTop - ((document.documentElement.clientHeight - document.getElementById(scrollz).offsetHeight) / 2);

    var timerID = setInterval(function() {
        window.scrollBy(0, speed);
        if (window.pageYOffset >= scrollPos) {
            clearInterval(timerID);
        }
    }, 13);
}

1 个答案:

答案 0 :(得分:3)

scrollBy会从“实际位置”滚动到“已定义的像素数”我想你可能会看一下scrollTo