
Animate.css+wow.js实现页面滚动到可视区显示动画效果
今天看迅雷官网https://www.xunlei.com/v2018/dist/aboutus.html实现的滚动到可视区域后显示动画,自己之前没做过这种,非常感兴趣,然后问小伙伴,大部分都没做过类似的,于是乎我只能自己查了第一想到的是swiper,之前写轮播图用过。https://www.swiper.com.cn/https://www.swiper.com.cn/usage/animate
今天看迅雷官网 https://www.xunlei.com/v2018/dist/aboutus.html
实现的滚动到可视区域后显示动画,自己之前没做过这种,非常感兴趣,然后问小伙伴,
大部分都没做过类似的,于是乎我只能自己查了
第一想到的是swiper,之前写轮播图用过。
https://www.swiper.com.cn/
https://www.swiper.com.cn/usage/animate/index.html
但是引入了之后 发现不是特别适合我 而且还有5版本6版本一系列写法兼容问题,遂放弃。
再经历一番查阅后,发现Animate.css适合,结合wow.js就能实现,WOW.js 依赖 animate.css,它支持 animate.css 多达 60 多种的动画效果
先看animate.css这个插件,animate展示链接,点击跳转,https://animate.style/
这个是它中文的官网:http://www.animate.net.cn/
不废话 上代码 在vue项目使用:
第一步先安装animate.css
- link引入方式,用的cdn
<link href="https://cdn.bootcdn.net/ajax/libs/animate.css/4.1.1/animate.compat.css" rel="stylesheet">
-第二种npm:
npm install animate.css ;
//在main.js引入
import animated from 'animate.css'
Vue.use(animated)
注意!!!!!!!!!!!!!!!!
vue版本兼容性问题导致会动画不起作用!默认会安装4版本的
处理办法,安装对应低版本的动画插件:
npm install animate.css@3.5.1 --save
第二部引入wowjs:
我是在组件中引入的WOW,当然你也可以在全局,全局引入记得挂载到vue原型上即可
import { WOW } from "wowjs";
mounted() {
//第一种写法,可以设置wow中属性
this.$nextTick(() => {
// 在dom渲染完后,再执行动画
var wow = new WOW({
boxClass: "wow", ///动画元件css类(默认为wow)
animateClass: "animated", //动画css类(默认为animated)
offset: 0, //到元素距离触发动画(当默认为0)
mobile: true, //在移动设备上触发动画(默认为true)
live: true, //对异步加载的内容进行操作(默认为true)
});
wow.init();
});
//第二种写法,默认属性
// this.$nextTick(() => { // 在dom渲染完后,再执行动画
// new WOW().init();
//})
},
最后一步就是在html中加上class名称使用啦!!!
<div class="wow bounceIn">
animation属性
</div>
<div class="wow fadeInUp">欢迎查看百事可口的博客</div>
附上animated的各个动画class属性
fade: {
title: '淡入淡出',
fadeIn: '淡入',
fadeInDown: '向下淡入',
fadeInDownBig: '向下快速淡入',
fadeInLeft: '向右淡入',
fadeInLeftBig: '向右快速淡入',
fadeInRight: '向左淡入',
fadeInRightBig: '向左快速淡入',
fadeInUp: '向上淡入',
fadeInUpBig: '向上快速淡入',
fadeOut: '淡出',
fadeOutDown: '向下淡出',
fadeOutDownBig: '向下快速淡出',
fadeOutLeft: '向左淡出',
fadeOutLeftBig: '向左快速淡出',
adeOutRight: '向右淡出',
fadeOutRightBig: '向右快速淡出',
fadeOutUp: '向上淡出',
fadeOutUpBig: '向上快速淡出'
},
bounce: {
title: '弹跳类',
bounceIn: '弹跳进入',
bounceInDown: '向下弹跳进入',
bounceInLeft: '向右弹跳进入',
bounceInRight: '向左弹跳进入',
bounceInUp: '向上弹跳进入',
bounceOut: '弹跳退出',
bounceOutDown: '向下弹跳退出',
bounceOutLeft: '向左弹跳退出',
bounceOutRight: '向右弹跳退出',
bounceOutUp: '向上弹跳退出'
},
zoom: {
title: '缩放类',
zoomIn: '放大进入',
zoomInDown: '向下放大进入',
zoomInLeft: '向右放大进入',
zoomInRight: '向左放大进入',
zoomInUp: '向上放大进入',
zoomOut: '缩小退出',
zoomOutDown: '向下缩小退出',
zoomOutLeft: '向左缩小退出',
zoomOutRight: '向右缩小退出',
zoomOutUp: '向上缩小退出'
},
rotate: {
title: '旋转类',
rotateIn: '顺时针旋转进入',
rotateInDownLeft: '从左往下旋入',
rotateInDownRight: '从右往下旋入',
rotateInUpLeft: '从左往上旋入',
rotateInUpRight: '从右往上旋入',
rotateOut: '顺时针旋转退出',
rotateOutDownLeft: '向左下旋出',
rotateOutDownRight: '向右下旋出',
rotateOutUpLeft: '向左上旋出',
rotateOutUpRight: '向右上旋出'
},
flip: {
title: '翻转类',
flipInX: '水平翻转进入',
flipInY: '垂直翻转进入',
flipOutX: '水平翻转退出',
flipOutY: '垂直翻转退出'
},
strong: {
title: '强调类',
bounce: '弹跳',
flash: '闪烁',
pulse: '脉冲',
rubberBand: '橡皮筋',
shake: '左右弱晃动',
swing: '上下摆动',
tada: '缩放摆动',
wobble: '左右强晃动',
jello: '拉伸抖动'
}
over!
更多推荐
所有评论(0)