安装
npm install lottie-web
pnpm install lottie-web
yarn add lottie-web
<div
id="animation"
style="width: 700px; height: 440px; margin-top: 80px"
></div>
import lottie from "lottie-web";
import loginJson from "../../../public/loginjson.json";
lottie.loadAnimation({
container: document.getElementById("animation"),
renderer: "svg",
loop: false,
autoplay: true,
animationData: loginJson,
});
json数据来源---官网svg转json工具
https://lottiefiles.com/svg-to-lottie?preset=1&svg_url=https%3A%2F%2Fassets-v2.lottiefiles.com%2Ftmp%2Fsvg-to-lottie%2F4eHyuDdeXgMe4PW5tEIRk.svg
API
lottie.loadAnimation:加载动画文件并返回一个动画实例。
animation.play: 播放动画。
animation.stop: 停止动画。
animation.setSpeed:设置动画的播放速度。
animation.setDirection:设置动画的播放方向。
animation.goToAndStop:跳转到指定时间点或帧,并暂停。
animation.destroy:销毁动画实例。
animationData------Lottie动画数据
path---------Lottie动画的JSON文件路径
renderer----------------Lottie动画渲染方式,支持'canvas'和'svg'
loop-------------------是否循环播放动画
autoplay---------------是否自动播放动画
name---------------------Lottie动画的名称
assetsPath-----------------------Lottie动画资源文件夹的路径
rendererSettings---------------------Lottie动画渲染的一些配置
React中如何使用Lottie-web
npm install --save lottie-web
import React, { useEffect } from "react";
import lottie from 'lottie-web';
import animationData from "./animation.json";
const App = () => {
useEffect(() => {
lottie.loadAnimation({
container: document.getElementById("lottie"),
renderer: "svg",
loop: true,
autoplay: true,
animationData: animationData,
});
}, []);
return <div id='lottie' />;
};
export default App;