vue3前端加载动画 lottie-web 的简单使用案例

news2024/10/6 14:35:54

什么是 Lottie
Lottie 是 Airbnb 发布的一款开源动画库,它适用于 Android、iOS、Web 和 Windows 的库。 它提供了一套从设计师使用 AE(Adobe After Effects)到各端开发者实现动画的工具流。

UED 提供动画 json 文件即可, 开发者就可以直接运用在 iOS、Android、Web 和 React Native之上,无需其他额外操作。

 

Lottie-Web 是 Lottie 在 web 端的技术方案。

Lottie-Web 提供了 SVG、Canvas 和 HTML 三种渲染模式,一般使用 Svg 或 Canvas 即可。

1、SVG 渲染器支持的特性最多,也是使用最多的渲染方式。并且 SVG 是可伸缩的,任何分辨率下不会失真;
2、Canvas 渲染器就是根据动画的数据将每一帧的对象不断重绘出来;
3、HTML 渲染器受限于其功能,支持的特性最少,只能做一些很简单的图形或者文字,也不支持滤镜效果。

 安装依赖

npm install lottie-web --save

 从官网下载了一个json文件示例

LottieFiles: Download Free lightweight animations for website & apps.

也可以下载gif格式

 基本使用

<script setup>
import { ref, onMounted } from 'vue'
import lottie from 'lottie-web'

const lottieInstance = ref(null)
const lottieInstance2 = ref(null)

let imgName = 'Animation - 1712559820721.json'
const getImg = () => {
    return new URL(`/src/assets/${imgName}`, import.meta.url).href;
}
const init = () => {
  // 读取动画容器
  const lottieContainer = document.getElementById('lottieId')
  if (!lottieContainer) return;
  // 实例化
  lottieInstance.value = lottie.loadAnimation({
    // UED 提供的 动画的 json 文件
    path: 'https://static-cdn.canyuegongzi.xyz/lf20/lf20_jv0xz0qi.json',
    // 渲染方式
    renderer: "svg",
    // 是否循环
    loop: true,
    autoplay: true, // 自动播放
    container: lottieContainer,  // 用于渲染的容器
  });

  // 初始化第二个动画
  const lottieContainer2 = document.getElementById('lottieId2')
  if (!lottieContainer2) return;
  lottieInstance2.value = lottie.loadAnimation({
    path: getImg(),
    // path: './src/assets/Animation - 1712559820721.json',
    renderer: "svg",
    loop: true,
    autoplay: true,
    container: lottieContainer2
  });
}

const onStart = () => {
  lottieInstance.value?.play();
  lottieInstance2.value?.play(); 
}

onMounted(() => {
  init()
  onStart()
})
</script>

<template>

  <div class="card">
    <img src="../assets/Animation - 1712559725257.gif" />
    <img src="../assets/Animation - 1712559820721.gif" />
  </div>
  <div style="display: flex;">
    <div id="lottieId"></div>
    <div id="lottieId2"></div>
  </div>

</template>

<style scoped>

#lottieId {
  width: 300px;
  height: 300px;
}

#lottieId2 {
  width: 300px;
  height: 300px;
}
</style>

文章参考自

http://t.csdnimg.cn/fh4Ww

lottie-web,lottie动画使用详解_动画_jasmine 莉-华为开发者联盟HarmonyOS专区

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1577839.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Disk Drill Enterprise for Mac v5.5.1515数据恢复软件中文版

Disk Drill 是 Mac 操作系统固有的Mac数据恢复软件&#xff1a;使用 Recovery Vault 轻松保护文件免遭意外删除&#xff0c;并从 Mac 磁盘恢复丢失的数据。支持大多数存储设备&#xff0c;文件类型和文件系统。 软件下载&#xff1a;Disk Drill Enterprise for Mac v5.5.1515激…

Ubuntu 20.04.06 PCL C++学习记录(二十)

[TOC]PCL中点云分割模块的学习 学习背景 参考书籍&#xff1a;《点云库PCL从入门到精通》以及官方代码PCL官方代码链接,&#xff0c;PCL版本为1.10.0&#xff0c;CMake版本为3.16 学习内容 基于颜色的区域增长细分 源代码及所用函数 源代码 #include<iostream> #i…

【算法】第二篇 大衍数列

导航 1. 简介2. 数列特征3. 代码演示1. 简介 大衍数列,来源于《乾坤谱》中对易传“大衍之数五十”的推论。主要用于解释中国传统文化中的太极衍生原理。数列中的每一项,都代表太极衍生过程中,曾经经历过的两仪数量总和。是中华传统文化中隐藏着的世界数学史上第一道数列题。…

大厂高频面试题复习JAVA学习笔记-学习路线

对于应届生&#xff0c;要找到一份java工作&#xff0c;你得大概学会&#xff1a; java基础&#xff1a;javase、jvm、juc、gc、mysql、jdbc&#xff0c;计网计组 Java微服务基础Maven→Gradle→Spring6→SpringMVC→MyBatis→MyBatisPlus→SSM->Redis7->SpringBoot2-&…

云计算与大数据课程笔记(八)之虚拟化技术(上)

本文所有图片来自于刘鹏《云计算》系列PPT。 虚拟化技术 虚拟化技术是一种资源管理技术&#xff0c;它通过抽象硬件的物理特性&#xff0c;使用户可以在单个物理硬件上运行多个虚拟实例&#xff0c;如操作系统、存储设备或网络资源。虚拟化可以提高资源利用率、降低成本、增加…

DP练习_P1002 [NOIP2002 普及组] 过河卒_python_蓝桥杯

P1002 [NOIP2002 普及组] 过河卒 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 1.DFS做超时40分 n, m, x, y map(int,input().split())flag [[0]*(n10) for _ in range(m10)] maps [[0]*(n10) for _ in range(m10)] d [[2,1],[2,-1],[-2,1],[-2,-1],[1,2],[1,-2],[-1,2]…

如何实现小程序滑动删除组件+全选批量删除组件

如何实现小程序滑动删除组件全选批量删除组件 一、简介 如何实现小程序滑动删除组件全选批量删除组件 采用 uni-app 实现&#xff0c;可以适用微信小程序、其他各种小程序以及 APP、Web等多个平台 具体实现步骤如下&#xff1a; 下载开发者工具 HbuilderX进入 【Dcloud 插…

【利器篇】前端40+精选VSCode插件,总有几个你未拥有!

前言 姊妹篇&#xff1a; 【利器篇】35精选chrome插件&#xff0c;含15前端插件&#xff0c;总有一款值得你停留 关于关于 【前端工具系列】&#xff1a; 有句话&#xff0c;事半功倍&#xff0c;其必然是借助了某些思想和工具。 VSCode是我们前端开发的武器&#xff0c;本文…

[工具使用]绕过付费-适用于谷歌/火狐/Edge浏览器

绕过付费-适用于谷歌/火狐/Edge浏览器 bypass-paywalls是一款浏览器插件&#xff0c;可以帮助绕过选定网站的付费 链接&#xff1a;https://github.com/iamadamdev/bypass-paywalls-chrome 一、谷歌/Edge浏览器安装说明&#xff08;支持自定义网站&#xff09; 1、从Github下…

用动态IP采集数据总是掉线是为什么?该怎么解决?

动态IP可以说是做爬虫、采集数据、搜集热门商品信息中必备的代理工具&#xff0c;但在爬虫的使用中&#xff0c;总是会遇到动态IP掉线的情况&#xff0c;从而影响使用效率&#xff0c;本文将探讨动态IP代理掉线的几种常见原因&#xff0c;并提供解决方法&#xff0c;以帮助大家…

libVLC 提取视频帧使用OpenGL渲染

在上一节中&#xff0c;我们讲解了如何使用QWidget渲染每一帧视频数据。 由于我们不停的生成的是QImage对象&#xff0c;因此对 CPU 负荷较高。其实在绘制这块我们可以使用 OpenGL去绘制&#xff0c;利用 GPU 减轻 CPU 计算负荷&#xff0c;本节讲解使用OpenGL来绘制每一帧视频…

2024-简单点-python中的多重继承mro和super的联系

在Python的多重继承中&#xff0c;super()函数的作用主要是确保父类的方法被正确地调用&#xff0c;同时避免了直接调用父类可能带来的问题&#xff0c;如方法覆盖或名称冲突。super()的使用是Python实现合作式多重继承的关键。 具体来说&#xff0c;当一个类从多个父类继承时…

Java数据结构-队列

目录 1. 队列概念2. 模拟实现队列2.1 链式队列2.2 循环队列 3. 双端队列4. 队列的应用4.1 用队列实现栈4.2 用栈实现队列 1. 队列概念 队列是一种只能在一端进行插入数据操作&#xff0c;另一端进行删除数据操作的数据结构&#xff0c;插入数据的叫队尾&#xff0c;删除数据的…

基于巴法云物联网云平台构建可视化控制网页(以控制LED为例)

0 前言 如今大大小小的物联网云平台非常多&#xff0c;但大部分要收取费用&#xff0c;免费的物联网云平台功能则有很多限制使用起来非常不方便。以百度云物联网云平台为例&#xff0c;它的物可视不支持发布主题&#xff0c;等于可视化界面只能作为数据监控而不具备双向通信的…

小红书广告推广如何开户及费用攻略?

随着小红书平台影响力的日益增强&#xff0c;越来越多的品牌和商家选择在此进行广告推广&#xff0c;以触达其庞大的年轻且具有高度消费力的用户群体。面对复杂的开户流程、多样化的计费模式以及激烈的竞争环境&#xff0c;许多广告主难免感到困扰。云衔科技的专业服务应运而生…

RISC-V特权架构 - 模式切换与委托

RISC-V特权架构 - 模式切换与委托 1 导致模式切换的常见动作2 异常处理规则3 异常处理时模式切换3.1 在U模式下&#xff0c;发生异常3.2 在S模式下&#xff0c;发生异常3.3 在M模式下&#xff0c;发生异常 4 系统调用时模式切换5 中断处理时模式切换 本文属于《 RISC-V指令集基…

通过网络api获取日期对应的节假日信息

网络接口获取链接&#xff1a;免费节假日API_原百度节假日API HolidayJudge.h #pragma once#include <QtWidgets/QWidget> #include "ui_HolidayJudge.h"enum DATESTATE {WORK0,//工作日DAYOFF,//休息日HOLIDAY//节假日 };class HolidayJudge : public QWidg…

隐藏在计算过程中的数据超限

【题目描述】 输入两个正整数&#xff0c;输出&#xff0c;保留5位小数。输入包含多组数据&#xff0c;结束标记为n&#xff1d;m&#xff1d;0。提示&#xff1a;本题有陷阱。 【样例输入】 2 4 65536 655360 0 0 【样例输出】 Case 1: 0.42361 Case 2: 0.00001 【题…

AI日报:北大Open Sora视频生成更强了;文心一言可以定制你自己的声音;天工 SkyMusic即将免费开放;

&#x1f916;&#x1f4f1;&#x1f4bc;AI应用 北大Open Sora视频生成更强了!时长可达10秒&#xff0c;分辨率更高 【AiBase提要:】 ⭐️ Open-Sora-Plan v1.0.0模型发布 显著提升视频生成质量和文本控制能力 ⭐️ 支持华为昇腾910b芯片&#xff0c;提升运行效率和质量。 ⭐…

如何实现OpenHarmony的OTA升级?

OTA简介 随着设备系统日新月异&#xff0c;用户如何及时获取系统的更新&#xff0c;体验新版本带来的新的体验&#xff0c;以及提升系统的稳定性和安全性成为了每个厂商都面临的严峻问题。OTA&#xff08;Over the Air&#xff09;提供对设备远程升级的能力。升级子系统对用户…