SuperAPI AI 工具集

animejs

前端与建站

查看项目

更新于 10-16 09:58

技能介绍

anime.js v4 是一个快速、轻量的 JavaScript 动画库,API 小巧且可组合。v4 是彻底重写版本,模块化且以 ESM 优先:需导入具名函数(如 animate、createTimeline),而非 v3 的单一默认 anime() 对象。除非用户明确锁定 v3,否则应写 v4 风格代码。

用途:为网页元素、卡片、SVG 添加动画;编排时间线;实现交错入场、滚动揭示、悬停效果;SVG 路径变形与描边绘制;带惯性/弹性的拖拽;逐字符文字动画;以及调试或升级现有 anime.js 代码。

主要能力:animate(targets, params) 可动画化 CSS、变换、属性或 JS 对象属性;createTimeline 通过 .add()/.sync() 精确排序与重叠;createTimer 提供无目标时钟;createAnimatable 适合高频更新;createDraggable 支持惯性、吸附与边界;createScope 将动画限定到根元素并支持媒体查询、用 .revert() 清理;onScroll 按滚动位置驱动;svg.morphTo、svg.createDrawable、svg.createMotionPath 处理路径变形、线条绘制与运动路径;text.split 拆分文字;stagger 生成增量延迟;utils 提供 $、get/set、clamp、mapRange、lerp、round、random、snap 等辅助;eases 与 createSpring 提供缓动和弹簧物理;engine 配置 timeUnit、fps、speed、失焦暂停;waapi 可经原生 Web Animations API 渲染。

安装与用法:npm 推荐 npm install animejs,并以 import { animate, createTimeline, stagger, svg, utils } from 'animejs' 导入。CDN 可用 ES 模块 https://esm.sh/animejs@4,或经典 UMD 全局 https://cdn.jsdelivr.net/npm/animejs@4,此时方法挂在 anime 命名空间下。TypeScript 类型随包提供,无需 @types。动画目标可为 CSS 选择器、DOM 节点、NodeList 或普通 JS 对象。工厂函数返回带 .play()、.pause()、.restart()、.seek()、.reverse() 及 .then()/completed 承诺的对象。

适用场景:网页动效、入场与滚动动画、SVG 动画、交互拖拽、React/Vue/Svelte 等框架中的效果封装。

限制与注意:优先使用变换(x、y、scale、rotate)和 opacity 以获得 GPU 友好动画,动画 width/top/left 会触发布局;动画默认自动播放,可用 autoplay: false 手动控制;框架中应在清理时调用 scope.revert() 以免泄漏定时器;应尊重 prefers-reduced-motion。从 v3 迁移需注意:anime({targets,...}) 改为 animate(targets,{...}),easing 名称简化(如 easeInOutQuad 改为 inOutQuad),anime.timeline() 改为 createTimeline(),anime.stagger() 改为具名导入 stagger(),anime.set()/random() 改为 utils.set()/utils.random(),direction: 'alternate' 改为 loop + alternate: true。完整迁移指南见官方文档。该技能为 anime.js v4(MIT)的封装说明,动画引擎版权归原作者及贡献者。