我试图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);
}