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