首页 > 其他分享 >vue3+lottie实现动画

vue3+lottie实现动画

时间:2023-12-28 18:14:45浏览次数:22  
标签:function 动画 web json https vue3 path lottie

1、安装lottie-web

npm i lottie-web

2、使用在线json文件

<template>
  <div class="box">
    <div id="lottie_box" style="width: 800px;height: 800px;margin-left: 1000px;background-color: pink"></div>
    <button @click="startFun">播放</button>
    <button @click="suspendFun">暂停</button>
  </div>
</template>

<script>
import lottie from 'lottie-web';

export default {
  name:'Lottie',
  data(){
    return{
      lottie:{},
    }
  },
  methods:{
    suspendFun:function(){
      this.lottie.pause();
    },
    startFun:function(){
      this.lottie.play()
    }
  },
  mounted(){
    this.lottie = lottie.loadAnimation({
      container: document.getElementById('lottie_box'),
      renderer: 'svg',
      loop: true,// path: 'https://labs.nearpod.com/bodymovin/demo/markus/halloween/markus.json'
      path: 'https://labs.nearpod.com/bodymovin/demo/markus/isometric/markus2.json'
    })
  }
}
</script>

效果如下:

3、使用本地json文件

lottieFiles官网:https://lottiefiles.com/featured

点击一个雪人的

点击Download

点击save to workspace to download

下载下来后放到public目录下

<template>
  <div class="box">
    <div id="lottie_box" style="width: 800px;height: 800px;margin-left: 1000px;background-color: pink"></div>
    <button @click="startFun">播放</button>
    <button @click="suspendFun">暂停</button>
  </div>
</template>

<script>
import lottie from 'lottie-web';

export default {
  name:'Lottie',
  data(){
    return{
      lottie:{},
    }
  },
  methods:{
    suspendFun:function(){
      this.lottie.pause();
    },
    startFun:function(){
      this.lottie.play()
    }
  },
  mounted(){
    this.lottie = lottie.loadAnimation({
      container: document.getElementById('lottie_box'),
      renderer: 'svg',
      loop: true,
      // animationData: favAnmData
      path: './Animation - 1703753064024.json'
    })
  }
}
</script>

效果如下:

 

标签:function,动画,web,json,https,vue3,path,lottie
From: https://www.cnblogs.com/zwh0910/p/17933055.html

相关文章

  • 封装一个表情包组件(支持自定义表情图片)(基于vue3语法)
    效果图文件图直接贴代码emotion.vue<template><divclass="emotion-containerbeauty-scroll-livechat"><divclass="emotion-btn"@click="toggleEmotionShow"><spanclass="iconfonticon-biaoqing1&quo......
  • 【秀米教程7】SVG点击展开推文,手机横屏下拉效果动画
    效果展示效果展示:点击图片展开推文内容效果图操作步骤点击【图文模板】-【SVG】-在左边选择自己想要的下拉效果点击下拉效果图的边框-点击【编辑】显示内容:显示当前编辑下的内容,但不能编辑点击【转场设置】①解释说明:【转场设置】下方有“转场淡出(0.5秒)+......
  • 使用命令行创建vue3+Typescript的uni-app
    目录创建项目扩展组件uni-ui安装配置easycom安装pinia报vue.hasInjectionContextisnotafunction更具该文档创建好的模板:GitHub仓库地址,克隆下来安装依赖即可创建项目官方文档--创建uni-app以创建vue3+Typescript工程为例,使用下列命令行:#网络不好的话会创建失败,可以前往......
  • 使用Element.animate()实现动画
    Element.animate()实现<divid="app"><button@click="startAmi">开始</button><p>{{msg}}</p></div><scriptsrc="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><s......
  • 【秀米教程7】SVG点击图片,横屏下拉效果动画
    原文链接:https://www.cnblogs.com/MrFlySand/p/17930117.html效果展示效果展示:点击图片展开推文内容效果图操作步骤点击【图文模板】-【SVG】-在左边选择自己想要的下拉效果点击下拉效果图的边框-点击【编辑】显示内容:显示当前编辑下的内容,但不能编辑点击【......
  • vite+vue3 打包后页面空白现象
    使用vite打包之后运行index.html空白,打开控制台发现报错:解决方法:在vite.config中加入:publicPath:'./',这是vite.config中的结构: exportdefaultdefineConfig({publicPath:'./',lintOnSave:false,transpileDependencies:true,plugins:[......
  • vue3横向时间轴展示
    架子是用的vue3+elementPlus,要用到时间轴展示,但element组件只有竖着的,想要横着的,找了一圈没有合适的,终于找到个合适的,文章原址https://blog.csdn.net/m0_62949703/article/details/127800712数据结构: {date:'2023-09-27’,isShow:true,children:[......
  • CSS之动画
    一.动画动画类型CSS3可以创建动画,它可以取代许多网页动画图像、Flash动画和JavaScript实现的效果。transform属性可以定义一些主要的动画属性,translate:平移,translat(100px),向右平移100pxscale:缩放,scale(120%),放大20%skew:阴影,skew(30deg),顺时针阴影30度rotate:旋转,rotate(30de......
  • Vue3+TS+Vite中 vConsole 插件的使用
    vConsole一个轻量、可拓展、针对手机网页的前端开发者调试面板。vConsole是框架无关的,可以在Vue、React或其他任何框架中使用。现在vConsole是微信小程序的官方调试工具。https://gitee.com/Tencent/vConsole/ 平时在web应用开发过程中,我们可以console.log去输出一些......
  • vue3 elementplus 表格表头过长 三个点显示
    vue3:constrenderHeaderMethods=({column})=>{returncreateVNode(resolveComponent('el-tooltip'),{effect:'dark',content:column.label,placement:'top'......