引入
CDN引入 或者 NPM引入
例子
点击页面回到顶部12345678910111213141516171819document.onclick=function(){ // 设置循环动画function animate(time) { requestAnimationFrame(animate); TWEEN.update(time);}requestAnimationFrame(animate);var position = { x: 0, y: pageYOffset }; // 起始点var tween = new TWEEN.Tween(position) // 创建一个新的tween用来改变 'position' .to({ x: 0, y: 0 }, 1000) // 在1s内移动至 (0, 0) .easing(TWEEN.Easing.Quadratic.Out) // 使用缓动功能使的动画更加平滑 .onUpdate(function() { // 在 tween.js 更新 'position' 后调用 // 移动到 'position' 所描述的位置,配合 CSS 过渡 window.scrollTo(position.x,position.y) }); .start(); // 执行tween};
缓动动画
公式:.easing(TWEEN.Easing.缓动函数.缓动方式)
缓动函数
- Linear:线性匀速运动
- Quadratic:二次方缓动
- Cubic:三次方缓动
- Quartic:四次方缓动
- Quinitic:五次方缓动
- Sinusoidal:正弦曲线的缓动
- Exponential:指数曲线的缓动
- Circular:圆形曲线的缓动
- Elastic:指数衰减的正弦曲线的缓动
- Back:超过范围的三次方的缓动
- Bounce:指数衰减的反弹缓动
缓动方式(easing类型)
- In:加速,嫌慢后壳
- Out:减速,先快后慢
- InOut:前半段加速,后半段减速
es6-tween
|
|