3

バニラJSで(jQuery)を模倣しようとしているscrollTopので、クリックすると要素にスクロールします。これは問題なく機能します - 既に要素をスクロールしていない限り。したがって、逆方向にはスクロールしません。私の数式を組み込む必要があり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 は、「実際の位置」から「定義されたピクセル数」までスクロールします。

于 2013-01-18T18:38:13.603 に答える