JS 网页每隔 timeout 毫秒向下平滑滚动 step 像素,直到滚动到页面底部。即使滚动过程中有新的加载,网页高度发生变化也可用。
var scrollHeight = window.pageYOffset;
var step = 1000;
var timeout = 300;
function scrollPageDown() {
// 重新计算页面底部的位置
var bottom = document.body.offsetHeight;
var currentHeight = window.pageYOffset + document.documentElement.clientHeight;
var nextStep = Math.min(step, bottom - currentHeight);
window.scroll({
left: window.pageXOffset,
top: currentHeight + nextStep,
behavior: 'smooth'
});
if (currentHeight+step <= bottom) {
setTimeout(scrollPageDown, timeout);
}
}
scrollPageDown();