vue3通过lottie-web插件使用json动画

使用lottie-web插件来实现json动画

安装:yarn add lottie-web

在utils目录(自己创建的)下,创建common.ts(或者common.js),内容如下:

import lottie from 'lottie-web'

export const jsonAnimation = (dom: string = '', jsonFile: any) => {
  lottie.loadAnimation({
    container: document.querySelector(dom) as Element,
    renderer: 'svg',
    loop: true,
    autoplay: true,
    animationData: jsonFile
  })
}

container:表示要挂载的dom元素

loop:表示循环

autoplay:字如其意,自动播放

animationData:使用的json文件

更多配置:https://github.com/airbnb/lottie-web

使用起来就简单了

<script setup lang="ts">
import { onMounted } from 'vue'
import btnJson from '@/assets/animation/login-btn.json'
import { jsonAnimation } from '@/utils/common'

const onLogin = () => {}

onMounted(() => {
  jsonAnimation('#login-btn', btnJson)
})
</script>

<template>
  <div class="login">
    <div id="login-btn" class="login-btn" @click="onLogin"></div>
  </div>
</template>

<style lang="less" scoped>
.login {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;

  .login-btn {
    width: 228px;
    height: 50px;
    cursor: pointer;
  }
}
</style>


版权声明:本文为qq_39409541原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。