一、场景
tween.js是一款可生成平滑动画效果的js动画库
当你要实现一个返回顶部的功能时候你会怎么做,大部分人会使用document.body.scrollTop =0;这么写就实现了功能,
不过要更加的细腻一点我们不妨用tween的缓动来实现,看看效果如何吧。
之前我们写过tween的相关文章,这里不做介绍了。
二、代码
#app{width: 100%; height: 3000px;background: #CCCCCC;}
.backTop{
width: 1.5rem;
height: 1.5rem;
border: 1px solid #ff0000;
position: fixed;
right: 1rem;
bottom: 2rem;
border-radius: 50%;
background-size: 70% 100%;
}
Top
三、requestAnimationframe改写setInterval方法:
methods:{
backTop(){
var Tween = {
Linear: function(t, b, c, d) { //匀速
return c * t / d + b;
}
}
Math.tween = Tween;
var t = 1;
const b = document.body.scrollTop;
const c = 1;
const d = 1;
var timer;
timer= requestAnimationframe(function fn(){
if(document.body.scrollTop > 0){
t--;
console.log(t)
console.log(t);
const backTop = Tween.Linear(t,b,c,d);
console.log(backTop);
document.body.scrollTop = backTop;
timer = requestAnimationframe(fn);
}else{
cancelAnimationframe(timer)
}
})
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



