如何使用vanilla JavaScript滚动到顶部?
我试图模仿vanilla JS中的如何使用vanilla JavaScript滚动到顶部?,javascript,scroll,offset,Javascript,Scroll,Offset,我试图模仿vanilla JS中的scrollTop(jQuery),所以点击它就会滚动到一个元素。这很好——除非您已经滚动过该元素。所以它不会以相反的方式滚动。我的公式是否应该包含window.pageYOffset var moves = function(scrollz) { var scrollPos = document.getElementById(scrollz).offsetTop - ((document.documentElement.clientHeight - d
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);
}
scrollBy将从“实际位置”滚动到“定义的像素数”,我想您可以看一下谢谢Philippe,我刚从window.pageYOffset开始设置了一个计数器,并以设置的间隔递增它,直到达到scrollPos[上面]为止