引荐三两款前端动画库,anitmate.css, velocity-animate, anime,

在近来一段时间的事情里,经常用到动画,我重要打仗了三个

animate.css
anime
velocity

下面剖析一下他们的优瑕玷

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’

(细致整顿待续)

    原文作者:spademan
    原文地址: https://segmentfault.com/a/1190000009245134
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞