mo.js 是一个用于 Web 的动态图形动画库,提供声明式 API 和丰富的效果。

所在地:
美国
语言:
en
收录时间:
2026-08-28

核心定位

mo.js 是面向 Web 的动态图形动画库,专注于为界面元素提供流畅、可组合的运动效果。它通过声明式 API 描述动画意图,开发者无需手动管理帧循环或时间线,即可实现从基础缓动到复杂粒子爆发的各类动效。

主要特性

声明式 API

调用方式围绕配置对象展开,动画的持续时间、延迟、缓动函数、重复次数等参数均以属性形式声明。这种设计降低了阅读门槛,也让动画逻辑更容易维护和复用。

const burst = new mojs.Burst({
  radius: { 0: 80 },
  count: 12,
  children: {
    shape: 'circle',
    duration: 600
  }
});

模块化结构

库按功能拆分为多个独立模块,可按需引用:

模块 用途
mojs.Shape 基础形状变形与位移动画
mojs.Burst 粒子爆发效果
mojs.Tween 底层补间引擎
mojs.Timeline 多动画编排与串联
mojs.Html DOM 元素属性动画

丰富的内置效果

  • 支持 20+ 种缓动曲线,涵盖线性、缓入缓出、弹性、回退等类型
  • 形状模块内置圆形、矩形、多边形、线条等几何形态,并支持路径变形
  • Burst 模块可配置粒子数量、角度范围、引力模拟等参数,适合生成礼花、撞击、强调提示等效果

性能取向

动画计算基于 JavaScript 驱动,渲染层优先使用 CSS Transform 与 opacity,避免触发重排。对于粒子数量较大的场景,建议控制同屏实例数,移动端尤其需要留意。

适用场景

  • 用户交互反馈:按钮点击涟漪、表单提交成功动画
  • 数据可视化转场:图表元素入场与数据更新过渡
  • 营销页面装饰:背景粒子、滚动触发特效
  • 加载与空状态:品牌化的动态占位内容

集成方式

通过 npm 安装:

npm install mo-js

或直接引入 CDN 脚本。库体积约 30KB(压缩后),无外部依赖。

注意事项

该项目已进入维护模式,近年更新频率较低。对于需要长期迭代的复杂项目,建议评估 GreenSock(GSAP)或 Anime.js 等替代方案。若现有 API 已满足需求,mo.js 仍可作为轻量选择。

相关导航