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;
}
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。