在近来一段时间的事情里,经常用到动画,我重要打仗了三个
下面剖析一下他们的优瑕玷
animate.css
长处:
animate.css重如果运用css完成动画结果,现在已经有几十种预定义的动画,运用起来异常轻便,基本上都能找到我们想要的动画结果,经由过程给dom
构造增加响应的类.animated .动效类
这个dom
就具有了动效。是否是异常的简朴。
API(假装是准确的翻译)
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: '拉伸发抖'
}
运用栗子
$('#yourElement').addClass('animated bounceOutLeft');
瑕玷:
1、animated.css
官方供应了几十种动效,然则总会碰到一些动效能够须要修正,或许有些动效他名没有供应。这个时刻,animate.css
就显得有点费劲了,由于现在没供应自定义的动画api
。
2、如果我们dom
构造已经有 tranform或许其他相干的css设置
,这个时刻经由过程增加animted
的动画类,那末我们本来的css
结果会 被覆 盖。解决方案只能是在dom的外围再用一个div.wrap
包含着 然后把动画结果加载.wrap
中来防止掩盖原有结果,相干议论issue
velocity
长处:
1、Velocity
是一个简朴易用、高性能、功用雄厚的轻量级JS动画库。它能和 jQuery 圆满合作,并和$.animate()
有雷同的 API
, 但它不依赖 jQuery
,可零丁运用。 Velocity
不仅包含了 $.animate()
的悉数功用, 还具有:色彩动画、转换动画(transforms)、轮回、 缓动、SVG 动画、和 转动动画 等特征功用
。
支撑原生js,jq,react
写法,作为vue
粉,扫兴的是,他临时没有vue
相干的插件
2.也有几十种相似animate.css
的预定义动画api
3.支撑自定义动效,拼装行列动效等等
4.动画回调 比方 Begin & Complete & Progress
回调函数
中文文档请点击
瑕玷:
1.实在我以为对我而言,满足我种种需求,没啥瑕玷,要肯定得揪点的话,我能说api
demo 不够多,须要本身多尝试种种组装。
2.现在许多童鞋比较少去用jquery
的情况下,Velocity
就丧失了许多有点,比方他自定义的动画就是连系Velocity-ui + jq
的
anime
anime.js(/ˈæn.ə.meɪ/)
是一个轻量、天真的JavaScript
动画库.他能够合营css,svg,Dom
节点和js
对象事情。
实在用了velocity
的人大可不必再去用anime
由于anime
具有的,而且velocity
兼容性要比anime
好
然则碰巧我用了。。。所以就说说吧
长处:
1.可自定义动画结果,支撑行列动效
2.支撑begin, run, update, complete
回调函数
3.支撑动画的play(),pause(),restart()等等功用
瑕玷:
1.缺乏自定义殊效
2.文档demo比较少
运用碰到的小问题:
1.默许不是匀速的,须要设置 easing: ‘liner’
(细致整顿待续)