anime.js-强大的Javascript动画库插件

当前位置: 主页 > jQuery库 > 工具类 > anime.js-强大的Javascript动画库插件
阿里云
anime.js-强大的Javascript动画库插件
分享:
    标签: 动画 纯js 动画库

    插件介绍

    anime.js是一款功能强大的Javascript动画库插件。anime.js可以和CSS3属性,SVG,DOM元素和JS对象一起工作,制作出各种高性能,平滑过渡的动画效果。

    浏览器兼容性

    浏览器兼容性
    时间:07-01
    阅读:
查看演示 下载插件
简要教程

anime.js是一款功能强大的Javascript动画库插件。anime.js可以和CSS3属性, SVG,DOM元素和JS对象一起工作,制作出各种高性能,平滑过渡的动画效果。

安装

可以通过bower或npm来安装anime.js动画库插件。

npm install animejs 
bower install animejs                  
                

使用方法

在页面中引入anime.min.js文件。

<script type="text/javascript" src="js/anime.min.js"></script>               
                
HTML结构

以动画两个div元素为例,HTML结构如下:

<article>
  <div class="blue"></div>
  <div class="green"></div>
</article>
                
初始化插件

通过anime()方法来构造一个对象实例,以json对象的方式传入需要的参数:

var myAnimation = anime({
  targets: ['.blue', '.green'],
  translateX: '13rem',
  rotate: 180,
  borderRadius: 8,
  duration: 2000,
  loop: true
});
                

配置参数

anime.js动画库插件的可用配置参数有:

参数 默认值 取值
delay 0 number, function (el, index, total)
duration 1000 number, function (el, index, total)
autoplay true boolean
loop false number, boolean
direction 'normal' 'normal', 'reverse', 'alternate'
easing 'easeOutElastic' console log anime.easings to get the complete functions list
elasticity 400 number (higher is stronger)
round false number, boolean
begin undefined function (animation)
update undefined function (animation)
complete undefined function (animation)

应用举例

指定动画参数

参数可以使用json对象的方式传入,可设置的动画参数有:

  • value (必须)
  • delay
  • duration
  • easing

例如:

anime({
  targets: 'div',
  translateX: '13rem',
  rotate: {
    value: 180,
    duration: 1500,
    easing: 'easeInOutQuad'
  },
  scale: {
    value: 2,
    delay: 150,
    duration: 850,
    easing: 'easeInOutExpo',
  },
  direction: 'alternate',
  loop: true
});                  
                
多个timing时间函数值

动画延迟和动画的持续时间可以使用函数来各自指定目标元素。函数的参数如下:

参数位置 参数名称 描述
1 target 目标元素
2 index 目标元素的索引(从0开始)
3 length of targets 目标的总数(从0开始计数)

例如:

anime({
  targets: 'div',
  translateX: '13.5rem',
  scale: [.75, .9],
  delay: function(el, index) {
    return index * 80;
  },
  direction: 'alternate',
  loop: true
});                  
                
有效的动画属性列表

任何属性只要包含一个以上的数值属性,就可以执行动画效果。

类型 示例
CSS Properties width, borderRadius, 'background-color'
Individual transforms translateX, rotate, scaleY
SVG attributes d, rx, transform
DOM attributes value, volume
Object properties 任何包含一个以上的对象属性
单个属性值

定义结束动画的值。

类型 示例 描述
String '100rem' 推荐使用。强制动画使用指定的值,但是不转换单位。
Number 100 使用可能的默认单位。

例如:

.div {
  width: 20px;
}                  
                
anime({
  targets: 'div',
  translateX: '3rem', // Will translate the div from '0rem' to '3rem'
  width: '100', // Will be converted to '100px' because the width is '20px' in the CSS
});                  
                
From To values

定义动画的开始和结束值。

例如:

anime({
  targets: 'div',
  translateX: [50, 250] // Will start at 50px and end at 250px
});
                
指定目标值

可以通过函数来分别指定各个目标对象的属性值。可用的函数参数如下:

参数位置 参数名称 描述
1 target 目标元素
2 index 目标元素索引(从0开始)

例如:

anime({
  targets: 'div',
  translateX: function(el, index) {
    return anime.random(50, 100); // Will set a random value from 50 to 100 to each divs
  }
});
                
anime({
  targets: 'path',
  strokeDashoffset: function(el) {
    var pathLength = el.getTotalLength();
    return [pathLength, 0]; // Will use the exact path length for each targeted path elements
  }
});
                
动画播放控制

可以对动画进行播放、暂停、重播等控制。

名称 参数 描述
.play() 动画参数对象 播放动画
.pause() 暂停动画播放
.restart() 动画参数对象 重置动画
.seek() 百分比数或对象如:{time: 1250} 跳转到指定动画帧

例如:

var myAnimation = anime({
  targets: 'div',
  translateX: 100,
  autoplay: false
});

myAnimation.play(); // Manually play the animation                  
                
动画运动路径

使用anime.path()方法使元素沿SVG路径进行动画。

名称 描述
translateX 路径X轴
translateY 路径Y轴
rotate 指定角度

例如:

var myPath = anime.path('path');

anime({
  targets: 'div',
  translateX: myPath,
  translateY: myPath,
  rotate: myPath
});                 
                
辅助方法

anime.list:返回当前所有的活动动画对象。

anime.list;

anime.speed = x:修改所有动的速度(从0-1)。

anime.speed = .5;

anime.easings:返回动画的easing函数列表。

anime.easings;

anime.remove(target):从动画中移除一个或多个目标元素。

anime.remove('.item-2');

anime.getValue(target, property):从一个元素中获取当前的可用值。

anime.getValue('div', 'translateX');

anime.random(x,y):在两个数之间生成一个随机数。

anime.random(10, 40);

anime.js动画库插件的github地址为: https://github.com/juliangarnier/anime。

上一篇: Syntaxy.js-小巧灵活的网页语法高亮js插件
下一篇: 可将网页内容导出到Word文档的jQuery插件

相关插件

跨浏览器纯JavaScript QRCode二维码插件
跨浏览器纯JavaScript QRCode二维码插件
day.js轻量级处理时间和日期JavaScript库
day.js轻量级处理时间和日期JavaScript库
 CSS3动画库motion-css
CSS3动画库motion-css
炫酷CSS3动画库wickedCSS
炫酷CSS3动画库wickedCSS

    热门推荐

  • 基于bootstrap的jQuery多级列表树插件

    基于bootstrap的jQuery多级列表树插件

    2015-02-14
  • css剪裁GIF背景图片动画特效

    css剪裁GIF背景图片动画特效

    2020-01-17
  • 14种CSS3炫酷表单input输入框美化效果

    14种CSS3炫酷表单input输入框美化效果

    2015-01-11
  • 基于Bootstrap 3可预览的HTML5文件上传插件

    基于Bootstrap 3可预览的HTML5文件上传插件

    2015-05-09
  • jQuery轻量级圆形进度指示器插件

    jQuery轻量级圆形进度指示器插件

    2015-02-17

    最新教程

  • Element Traversal规范中的元素遍历方法

    Element Traversal规范中的元素遍历方法

    2017-09-08
  • HTML5 classList操作类名属性简介

    HTML5 classList操作类名属性简介

    2017-08-23
  • HTML5 meta viewport参数简介

    HTML5 meta viewport参数简介

    2017-08-09
  • JavaScript中数组的栈方法

    JavaScript中数组的栈方法

    2017-07-26
  • JavaScript中的归并方法

    JavaScript中的归并方法

    2017-07-12

    热门标签

  • 3d
  • 下拉列表
  • svg
  • 下拉菜单
  • canvas
  • bootstrap
  • 下拉框
  • html5
  • html5 canvas
  • app
  • html5 svg
  • Material Design
  • lightbox
  • Loading
  • tooltip
  • DOM
  • flexbox
  • 事件对象
  • 轮播图
  • tabs
  • 响应式
  • jquery ui
  • 纯js
  • 事件
  • 导航菜单
  • 纯css3
  • 手风琴
  • 幻灯片
  • 动画
  • 查找

天下网标王成都网站优化按天计费推荐承德网站推广工具公司荆州网站改版报价荆门网站推广推荐南充网站制作设计报价江门百度竞价包年推广报价永州网站排名优化多少钱邯郸网站搭建大运网站搭建多少钱金昌网页制作哪家好扬州建设网站报价汕尾百度爱采购价格南阳百度竞价包年推广价格长春网站推广工具眉山网站推广系统推荐平凉SEO按天收费报价上海百度网站优化哪家好南通网站建设多少钱丽江网站改版推荐梧州至尊标王北京营销型网站建设公司怀化模板制作多少钱苏州百姓网标王推广报价恩施优秀网站设计价格怀化网站建设设计多少钱承德seo网站优化公司鹤壁关键词按天收费公司河源网站推广系统梅州网站优化排名推荐泰州模板网站建设公司香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化