1. window.scroll
滚动窗口至文档中的特定位置:
window.scroll(x, y)
注意:里面的 x
和 y
不跟单位,直接写数字。
2. 带有动画的返回顶部
- 此时可以继续使用我们封装的动画函数
- 只需要把所有的
left
相关的值改为跟页面垂直滚动距离相关就可以了 - 页面滚动了多少,可以通过
window.pageYOffset
得到 - 最后是页面滚动,使用
window.scroll(x, y)
3. 修改后的缓存动画函数
function animate(obj, target, callback) {
clearInterval(obj.timer);
obj.timer = setInterval(function () {
// 缓冲动画核心算法
let step = target - window.pageYOffset;
step = step >= 0 ? Math.ceil(step / 10) : Math.floor(step / 10);
if (window.pageYOffset === target) {
clearInterval(obj.timer);
callba