Lottie-前端实现AE动效

Lottie是一个跨平台的库,用于在Android、iOS、Web和Windows上渲染After Effects(AE)创建的动画。设计师通过Bodymovin导出JSON文件,前端开发者可以使用Lottie加载并播放这些动画,实现丰富的移动和网页动态效果。本文详细介绍了Lottie的使用方法,包括加载动画、控制播放、事件监听等,并提供了关键API的说明。
摘要由CSDN通过智能技术生成

Lottie是可应用于Android,iOS, WebWindows的库,通过Bodymovin解析AE动画,并导出可在移动端和web端渲染动画的json文件。换言之,设计师用AE把动画效果做出来,再用Bodymovin导出相应地json文件给到前端,前端使用Lottie库就可以实现动画效果。

在这里插入图片描述

中文文档

前端使用lottie

npm install lottie-web
import lottie from "lottie-web";
import animationData from "./assets/data.json";

const animation = lottie.loadAnimation({
  container: document.getElementById("svgContainer"), // 要包含该动画的dom元素
  animationData: animationData, // 动画json文件路径
  loop: true, // 是否循环播放
  renderer: "svg", // 渲染方式,svg、canvas、html(轻量版仅svg渲染)
  autoplay: true, // 是否自动播放
});

loadAnimation参数

名称描述
container用于渲染动画的HTML元素,需确保在调用loadAnimation时该元素已存在
renderer渲染器,可选值为’svg’(默认值)/‘canvas’/‘html’。svg支持的功能最多,但html的性能更好且支持3d图层。
loop默认值为true。可传递需要循环的特定次数
autoplay自动播放
pathJSON文件路径
animationDataJSON数据,与path互斥
name传递该参数后,可在之后通过lottie引用该动画实例
rendererSettings可传递给renderer实例的特定设置,具体可看

方法

名称参数描述
stop停止动画
play播放动画
pause暂停
setSpeedNumber设置播放速度,1 表示1倍速度,0.5 表示 0.5倍速度
setDirectionNumber正反向播放,1 表示 正向,-1 表示反向
goToAndStopNumber, [Boolean]跳到某一帧或某一秒停止,第二个参数 iFrame 为是否基于帧模式还是时间,默认为 false
goToAndPlayNumber, [Boolean]跳到某一帧或某一秒开始,第二个参数 iFrame 为是否基于帧模式还是时间,默认为 false
playSegmentsArray, [Boolean]播放片段,参数1为数组,两个元素为开始帧和结束帧;参数2为,是否立即播放片段,还是等之前的动画播放完成
destroy销毁

Lottie动画监听

// 动画播放完成触发
animation.addEventListener("complete", () => {});

// 当前循环播放完成触发 
animation.addEventListener("loopComplete", () => {});
    
// 播放一帧动画的时候触发 
animation.addEventListener("enterFrame", () => {});

  • complete
  • loopComplete
  • enterFrame
  • segmentStart
  • config_ready(初始配置完成)
  • data_ready(所有动画数据加载完成)
  • DOMLoaded(元素已添加到DOM节点)
  • destroy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值