当前位置: 首页 > news >正文

lottie动画动态更改切图添加事件

最近有个业务需求用到好几个lottie动画,并且动画中需要根据不同的用户展示对应的用户头像及提示文案。刚开始调研时发现有一个lottie-api是用来处理这种情况的,但是后面发现其实可以让设计在输出lottie动画时在对应的元素增加一个id(注意要让设计把你要动态化的dom节点在lottie加载完成后就出现,否则监听DOMLoaded会拿不到对应的dom),我们就可以在加载完动画的json文件后通过id找到对应的dom节点并进行后续操作:

  import Lottie from 'lottie-web'//动态引入lottie文件const lottie = await import(`../assets/lotties/xxx.json`);this.lottie = Lottie.loadAnimation({container: lottieRef.current,loop: false,autoplay: false,animationData: lottie,});//监听动画的DOMLoaded事件,lottie的dom节点加载完后this.lottie.addEventListener('DOMLoaded', () => {//1、更换动画中的图片const imgWrap = document.getElementById(LOTTIE_IMG_MAP[key]);const img = imgWrap.querySelector('image');const newImg = this.getNewImg(key, null);if (img && newImg) {img.setAttribute('href', newImg);}//2、给动画的按钮增加点击事件const btnWrap = document.getElementById(LOTTIE_BTN_MAP[key]);if (btnWrap) {//在这里监听事件btnWrap.addEventListener('click', () => {this.closeLottie();})}})//播放lottiethis.lottie.play();
http://www.dtcms.com/a/352546.html

相关文章:

  • 五自由度磁悬浮轴承:精准狙击转子质量不平衡引发的同频振动
  • pycharm 远程连接服务器报错
  • NeRAF、ImVid论文解读
  • 2007-2022年上市公司企业关联交易数据
  • 面向对象爬虫架构设计:构建高复用、抗封禁的爬虫系统​
  • 工业数据消费迎来“抖音式”革命:TDengine IDMP 让数据自己开口说话
  • 利用 Java 爬虫按关键字搜索 1688 商品详情 API 返回值说明实战指南
  • 如何在360极速浏览器中调出底部状态栏
  • Wireshark和USRP捕获同一信号波形差异原因
  • MQ 最终一致性实现跨库转账
  • ArcGIS学习-11 实战-商场选址
  • 【Vue3】Cesium实现雨雪效果
  • onnx入门教程(五)——实现 PyTorch-ONNX 精度对齐工具
  • 子串:和为K的子数组
  • 高并发内存池(7)- CentralCache的核心设计
  • 如何对springboot mapper 编写单元测试
  • MATLAB Figure画布中绘制表格详解
  • Cortex-M 的Thumb指令集?
  • k8s pod 启动失败 Failed to create pod sandbox
  • Il2CppInspector 工具linux编译使用
  • 算法概述篇
  • Markdown渲染引擎——js技能提升
  • MyBatis-Flex是如何避免不同数据库语法差异的?
  • 【electron】一、安装,打包配置
  • 全面赋能政务领域——移动云以云化升级推动政务办公效能跃迁
  • 【硬件-笔试面试题-61】硬件/电子工程师,笔试面试题(知识点:RC电路中的充电时间常数)
  • vue3 + jsx 中使用native ui 组件插槽
  • babel使用及其底层原理介绍
  • Java 集合笔记
  • 第二章 进程与线程