JS & Lottie web 动画的使用

Lottie是一款用于Android/IOS/Web的动画库,通过JSON文件实现无需复杂代码的动画播放。它提供小文件体积、高可控性、跨平台兼容和性能优化。文章介绍了安装和使用方法以及其相对于传统动画方式的优势。
摘要由CSDN通过智能技术生成

一、什么是 Lottie ?

Lottie 是一款兼容跨平台 Android/IOS/Web 的动画操作库,只需引入一份 JSON 文件便可播放动画。

JSON 文件是由一款叫做 After Effect 俗称 AE 的设计软件通过 BodyMovin 插件导出的。
作为前端人员来说,我们不用关心如何制造这份 JSON 动画文件,是由设计师来提供的。

二、Lottie 的好处?

在讲 Lottie 前,先来回顾以前在操作动画时,有几种方式:

  1. 采用 css transformation 或 JS DOM 操作。
  2. 采用 gif 。
  3. 采用多张 png ,在结合 JS 不断切换。

以上几种方式都有各自的缺陷,比如 css/js 会触发回流/重绘,gif 和 png 占用文件体积较大,
重要的是,我们若想达到动画暂停或动画指定区间的播放时,往往带来繁琐的代码量和性能损耗。
甚至对于兼容跨平台来说,也很难做到一段代码多端通用。

Lottie 就是用来解决这个问题的,它的好处有:

  1. 文件体积较少。
  2. 可控性强。
  3. 不失真。
  4. 一个动画跨平台通用。
  5. 懒加载,提高性能。

三、Lottie 的使用

Lottie 的使用非常简单,完全就是傻瓜式调用。

  1. 安装
npm install lottie-web
  1. 使用
var svgContainer = document.getElementById('svgContainer');
var animItem = bodymovin.loadAnimation({
  wrapper: svgContainer, // 动画要挂载的 DOM 容器。
  animType: 'svg', // 播放格式类型。
  autoplay: false, // 是否自动播放。
  loop: true, // 是否轮询播放。
  path: 'https://labs.nearpod.com/bodymovin/demo/ik/data.json' // 动画数据。
});

// 动画加载完成的回调函数。
animItem.addEventListener('DOMLoaded', function(){});

const click = document.getElementById('click')
click.onclick = () => {
  // animItem.goToAndPlay(20, true); // 跳转到某个位置,开始播放。
  // animItem.goToAndStop(10, true); // 跳转到某个位置,并暂停。
  
  // animItem.playSegments([10,20], true) // 范围播放。
  // animItem.play(); // 完整播放。
  // animItem.stop(); // 停止播放。
  // animItem.destroy(); // 销毁实例。
  
  // animItem.setSpeed(4); // 设定播放速度。
  // animItem.setDirection(-1); // 设定播放方向。
  // animItem.getDuration(); // 获取该动画总帧数或秒数。
}

            

参考文献:
https://github.com/airbnb/lottie-web


完!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cookcyq

请作者喝杯暖暖的奶茶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值