3

我试图scrollTop在 vanilla JS 中模仿(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);
}
4

1 回答 1

4

scrollBy 将从“实际位置”滚动到“定义的像素数”我想你可以看看scrollTo

于 2013-01-18T18:38:13.603 回答