Vue动画之第三方类库实现动画方式
作者:何迟
这篇文章主要介绍了Vue动画之第三方类库实现动画方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Vue第三方类库实现动画
注意:
1.使用了Animate类库,方便直接调用各种动画。点击进入官网
2.用法大致同Bootstrap
HTML代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="../lib/vue.js"></script> <link rel="stylesheet" href="../lib/animate.css" rel="external nofollow" > </head> <body> <div id="app"> <div> <input type="button" value="显示/隐藏" @click="flag=!flag" :duration="2000"> <transition enter-active-class="animated bounceInUp" leave-active-class="animated bounceOutDown"> <h3 v-if="flag">陈小帅是真的帅!</h3> <!--通过一个标识符,然后可以不停将转换true/false,达到隐藏显示的目的--> </transition> <!--将需要转换的动画用transition承载,在头部实现样式--> <!--:duration可以一同设置进场和出场的时间,:duration="{enter:1000,leave:4000}分别设置"--> </div> </div> <script> var vm = new Vue({ el:"#app", data:{ flag:false } }) </script> </body> </html>
效果:
vue中常用的动画库
<div data-aos="fade-up"></div> mounted() { AOS.init(); // 你也可以在这里设置全局配置 AOS.init({ offset: 200, duration: 600, //持续时间 easing: 'ease-in-sine', delay: 100 }) },
animista-可直接插入使用
网址:https://animista.net/play/basic/scale-up
AOS.js滚动动画库
官网:https://www.xyhtml5.com/examples/aos/
- 第一步:npm install aos --save
- 第二步在main.js中:
import AOS from "aos"; import "../node_modules/aos/dist/aos.css"; Vue.use(AOS)
- 第三步:在当前组件引入import AOS from "aos";
其他动画效果可查看官网
<div data-aos="fade-up" data-aos-offset="200"></div> mounted() { AOS.init(); // 你也可以在这里设置全局配置 AOS.init({ offset: 200, duration: 600, //持续时间 easing: 'ease-in-sine', delay: 100 }) },
在元素上还可以添加以下一些属性:
属性描述示例值默认值
data-aos-offset
是立刻触发动画还是在指定时间之后触发动画 200 120data-aos-duration
动画持续时间 600 400data-aos-easing
动画的easing动画效果 ease-in-sine easedata-aos-delay
动画的延迟时间 300 0data-aos-anchor
锚元素。使用它的偏移来取代实际元素的偏移来触发动画 #selector nulldata-aos-anchor-placement
锚位置,触发动画时元素位于屏幕的位置 top-center top-bottomdata-aos-once
动画是否只会触发一次,或者每次上下滚动都会触发 true false
*注意,aos-duration的动画持续时间的范围从50-3000毫秒,如果你想设置更大的值,可以在页面中添加下面的CSS代码
body[data-aos-duration='4000'] [data-aos], [data-aos][data-aos][data-aos-duration='4000']{ transition-duration: 4000ms;}
上面的代码将动画的持续时间修改为4000毫秒。
禁用AOS
在小屏幕中禁用
AOS.init({ disable: 'mobile' });
设置条件如小于1024像素
disable: window.innerWidth < 1024
或者传入函数
disable: function () { var maxWidth = 1024; return window.innerWidth < maxWidth; }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。