JavaScript 实现动画说明
因为 css 不能实现较为复杂的动画,如数字变化动画,或者 canvas 形变动画等
js 动画js 库 如下面这个 GreenSock
js 动画,具体参数如下图
js 库操作 DOM 实例
enter 和 leave 还接收第二个参数 done 需要手动调用通知 vue 动画执行完成可以正式卸载挂载组件了function lave(el, done) {
done()
}css 动画v-bind:css="fasle" 简写 :css="fasle"<Transition :css="false">
<div></div>
</Transition>web animation Api 来实现动画web animation api 是浏览器原生支持的,他给每一个 DOM 元素都添加了一个 animat 方法,方法接收两个参数,第一个参数接收一个数组 [] 数组的每一个元素相当于 @keyframe 的百分比阶段,第二个参数相当于 animate 的配置参数相当于 animation 的配置,可以配置动画时常,动画执行方式,就跟 animation 是一样的function enter(el, done) {
// 通过el 实例调用 `animate` 方法
cosnt fadeIn = el.animate([{opacity: 0}, {opacity: 1}], {
duration: 700, // 执行时间
easing: 'ease-in-out' // 动画类型
})
// animate 会返回一个animation实例,通过他我们可以监听动画的执行阶段,可以手动暂停,或者播放动画
fadeIn.onfinis = () => {
done()
}
}class 一起混合使用:class="false" ; 和之前一样配置 6 个 class 就可以了