大概长这样? let startTimer = null, timer = 0, speed = 0, s = 0, scrollTop = document.documentElement.scrollTop const timeScale = 500 // 检测滚动停止的时间 ms window.onscroll = function (e) { let tempScrollTop = document.documentElement.scrollTop s += Math.abs(scrollTop - tempScrollTop) scrollTop = tempScrollTop clearTimeout(startTimer) if (!timer) { timer = new Date().getTime() } startTimer = setTimeout(function () { let nowTimer = new Date().getTime() let diffTimer = (nowTimer - timer - timeScale) / 1000 speed = s / diffTimer s = 0 timer = 0 console.log(speed) // 所求速度 px/s }, timeScale) }
大概长这样?