Anime.js轻量级、高性能的 JavaScript 动画库

boyanx2个月前技术教程8

Anime.js(发音为 /'aen..me/)是一款轻量级、高性能的 JavaScript 动画库,专注于通过简洁 API 实现流畅的网页动画效果。以下是其核心特性和使用指南:


一、核心特性与优势

  1. 多场景支持
    可操作 CSS 属性、SVG 路径、DOM 属性及 JavaScript 对象,支持从基础元素移动(如平移、旋转)到复杂 SVG 路径动画。例如,通过 translateX 和 rotate 实现元素位移与旋转联动。
  2. 轻量高效
    文件体积仅约 20KB(压缩后),内置硬件加速优化,即使在低性能设备上也能保持流畅运行。例如,通过 easing: 'easeInOutQuad' 实现平滑的缓动效果。
  3. 灵活的时间控制
    提供时间轴(Timeline)功能,支持动画的串联、并行及延迟控制。例如,通过 anime.timeline() 实现多个动画按顺序或重叠播放。
  4. 跨浏览器兼容
    支持 Chrome 24+、Safari 8+、Firefox 32+ 等主流浏览器,自动处理供应商前缀(如 -webkit-)。
  5. 丰富的插件生态
    可结合 ScrollMagic 实现滚动触发动画,或与 Three.js 集成创建 3D 交互动画。

二、快速入门指南

安装与引入

  • CDN 引入(推荐新手):
  • html
  • 运行
  • 复制
  • <script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.1/anime.min.js"></script>
  • npm 安装(适合项目开发):
  • bash
  • 复制
  • npm install animejs --save
  • 引入模块:import anime from 'animejs/lib/anime.es.js';

基础动画示例

javascript

复制

// 使元素向右移动 250px,旋转 360 度,背景变白
anime({
  targets: '.box',
  translateX: 250,
  rotate: '1turn',
  backgroundColor: '#FFF',
  duration: 800,
  easing: 'easeInOutQuad',
  loop: true
});

说明:targets 指定动画对象(支持 CSS 选择器或 DOM 元素),duration 控制时长(毫秒),loop 设置循环播放

进阶功能

  1. 交错动画(Staggering)
    通过 delay: anime.stagger(100) 实现元素组的错序动画效果,适用于列表项或卡片布。
  2. SVG 路径动画
    动态修改 SVG 的 d 属性,实现路径绘制效果:
  3. javascript
  4. 复制
  5. anime({ targets: svgPath, d: 'M10 80 C 40 10, 65 10, 95 80', duration: 2000, easing: 'easeInOutQuad' });
  6. 提示:使用 anime.path() 可让元素沿 SVG 路径运动。
  7. 时间轴控制
    创建复杂动画序列:
  8. javascript
  9. 复制
  10. const timeline = anime.timeline({ easing: 'easeOutExpo', duration: 750 }); timeline .add({ targets: '.box1', translateX: 250 }) .add({ targets: '.box2', translateY: 50 }, '-=600'); // 与前一个动画重叠 600ms

四、适用场景

  • 网页过渡效果:页面滚动、菜单展开等交互设计
  • 数据可视化:动态图表、数据增长动画
  • 游戏开发:角色动作、场景切换(如太阳系行星运动模拟)。
  • 品牌展示:LOGO 动态效果、产品演示动画

标签: svg路径动画

相关文章

SVG交互图文|推送里的路径动画是怎么做到的?

线条自主移动变化构成画面,这种炫酷的路径动画特效,相信大家都见过。下面从业内首发SVG路径动画交互图文为案例,为大家分析一波。这是由「小编备用」于2019年5月交付于宝马的《你以为这只是一条线》从推文...

用Python+NiceGUI开发端午节倒计时界面:含知识解析与代码实现

一、界面功能:动态龙舟特效:底部龙舟划过水面留下波纹轨迹(SVG+JS动画实现)计算倒计时:自动计算距离端午的天数,当天自动切换祝福语3D旋转标题:"端午安康"文字持续旋转跳动(CSS...

时间轴动画怎么加才惊艳?简单,腾讯御用PPT设计师直接爆料

大家应该收集或者见过很多不错的时间轴的页面设计吧?时间轴算是PPT制作中经常遇到的页面类型,个人述职、项目路演、企业介绍等等,都会用到时间轴来让用户更加直观地了解个人或公司。比如腾讯的时间轴页:又比如...

2.3 文件格式全解:PSD/JPG/PNG/SVG/GIF

2.3 文件格式全解:PSD/JPG/PNG/SVG/GIF一、文件格式的核心意义文件格式是数字图像的存储规则,决定了:- 信息保留程度(图层/透明度/动画)- 压缩方式与画质损失- 跨平台兼容性-...

他们做了份H5简历,然后,HR就主动“勾搭”他们了!

春风送暖,万物复苏。在这Word简历海量投、纸质招聘到处飞的季节,有这么一群派友们,他们的电话已被HR打爆!“这么牛!”“这么做到的?”“求秘诀!”今天,小派来揭秘了:他们已经在用创意H5简历了,赶快...

【前端必备】Anime.js:用9KB的魔法,让动画“活”起来!

在当今的互联网时代,动画效果已经成为提升用户体验的关键因素之一。如果你还在为复杂的动画效果而烦恼,那么 Anime.js 绝对是你不能错过的选择!什么是 Anime.js?Anime.js 是一款轻量...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。