1、Vue中的js动画
Vue中的js动画是通过vue提供的动画钩子函数来绑定事件的,然后在事件函数中处理对应的动画。
1.1、动画入场的钩子函数
before-enter:动画入场运动前一刻执行(自动执行)
enter:动画运动时执行
after-enter:在动画enter函数中运动完毕并调用回调done时执行
1.1.1、before-enter钩子
我们先来打印一下before-enter的参数是什么
动画元素
依据打印结果来看:before-enter开始动画前的参数就是一个单纯的动画dom元素(这个钩子函数是自动执行的)
1.1.2、enter钩子
动画运行的钩子函数, done
是动画运行完成后的回调函数,当动画运行完成以后执行done函数会触发after-enter动画钩子函数的运行
动画元素
1.1.3、after-enter动画执行完的钩子
动画元素
1.2、注意事项
done函数的错误写法
setTimeout(() => {
dom.style.color = 'red'
done()
}, 1000);
解决方案
加入定时器延时
enterHandler(dom,done){
console.log(arguments)
setTimeout(() => {
dom.style.color = 'red'
}, 1000);
setTimeout(() => {
done()
}, 2000);
},
1.3、出场动画
出场动画与入场一样的使用
before-leave:准备出场
leave:出场动画执行函数
after-leave:出场执行后
使用JavaScript 过渡的时候,在 enter 和 leave 中必须使用 done 进行回调。否则过渡会立即完成。对于仅使用 JavaScript 过渡的元素添加 v-bind:css="false",Vue 会跳过 CSS 的检测。这也可以避免过渡过程中 CSS 的影响。
Hello wold
2、动画示例
动画元素
2.1、效果展示
3、Velocity.js动画库
首先进入官网下载Velocity.js
3.1、引入
3.2、如何使用
3.2.1、首先创建一个公共的js目录
3.2.2、将官网上下载的Velocity.js放在该目录下(或者拷贝js代码,创建一个新的文件放进去)
3.2.3、引入
import Velocity from "@/vendor/velocity";
3.2.4、使用
动画元素
3.2.5、效果展示
4、多个元素之间的动画切换
太累了,明天再学.....