JS 网页每隔 timeout 毫秒向下平滑滚动 step 像素,直到滚动到页面底部

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();

猜你喜欢

转载自blog.csdn.net/weixin_50624398/article/details/128421399