//获取按钮 加点击事件
document.querySelector('button').onclick = function() {
//设置一个定时器
let timer = setInterval(() => {
//获取离顶部的滚动栏距离 document.body.scollTop document.documentElement.scollTop
//给定一个目标位置
let target = 0
//当前位置
let current = myScoll().top
//步长
let step = (target - current) / 10 > 0 ? Math.ceil((target - current) / 10) : Math.floor((target - current) / 10)
//在定时器里面以对应的步长,慢慢移动
window.scrollTo(0, current + step)
//移动到0 的时候 清除定时器
if (myScoll().top == target) {
clearInterval(timer)
}
}, 100)
}
//封装一个方法用于获取滚动栏离顶部的距离和离最左距离
function myScoll() {
//如果没有滚动栏
if (window.pageYOffset != null) {
return { "left": window.pageXOffset, "top": window.pageYOffset }
}
//获取top值
let top = document.body.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop
let left = document.body.scrollLeft ? document.body.scrollLeft : document.documentElement.scrollLeft
//在返回
return { left, top }
}