vue中使用Lottie动画

Lottie优势

  • 兼容多个平台
  • 操作简单
  • 动画流畅,百分百还原动效
  • 无需担心屏幕尺寸适配问题
  • 文件小,json文件大小会比gif文件小很多,性能更好
  • 可以通过网络Json地址加载

一. 安装vue-lottie包

npm install --save vue-lottie

二. 在main.js文件中引入vue-lottie插件

  • 全局引入
// main.js
import lottie from 'vue-lottie'
Vue.component('lottie',lottie)
  • 局部引入
import lottie from 'vue-lottie'
export default{
components: { lottie },
}

三. 文件中引入lottie资源

import * as animationData from "../assets/lottie.json";

四. 使用组件

<lottie
  :options="defaultOptions"
  :width="60"
  :height="60"
  v-on:animCreated="handleAnimation"
/>
//data里面添加相应属性
data(){
    return {
        defaultOptions: { animationData: animationData, loop: false },
        defaultAnim: ""
    }
}

//定义方法
methods: {
    handleAnimation: function(anim) {
        console.log(anim); //这里可以看到 lottie 对象的全部属性
        this.defaultAnim = anim;
    },
}

lottie的参数options

  container: element, //要包含该动画的dom元素
  renderer: 'svg',    //渲染方式,svg、canvas、html(轻量版仅svg渲染)
  loop: true,    //是否循环播放,true表示循环,false表示不循环
  autoplay: true,   //是否自动播放,true表示自动播放
  animationData: animationData,   //需要引入的json动画对象

lottie方法

play: 播放动画
stop: 停止播放动画
pause: 暂停动画
goToAndStop: 跳到某一帧动画,并停止
setDirection: 设置播放方向
setSpeed: 设置播放速度

监听事件

complete: 播放完成后触发(循环播放下不会触发)
loopComplete: 当前循环下播放(循环播放/非循环播放)结束时触发
onEnterFrame: 播放一帧动画的时候触发
enterFrame: 每进入一帧就会触发,播放时每一帧都会触发一次,stop方法也会触发
data_ready:动画json文件加载完毕触发
destroy: 将在动画删除时触发
onSegmentStart: 开始播放一个动画片段的时候触发

lottie动画图片资源显示不存在问题

1.把图片资源放到static文件下
在这里插入图片描述
2.去除"u",图片改为网络地址
在这里插入图片描述

文章总结

设计师需要的工具:
PhotoShopSketchAdobe IllustratorAdobe After EffectsBodymovin
安装Bodymovin插件主要用于后面导出Json格式

动画资源:https://lottiefiles.com/popular
lottie源码分析—svg渲染:http://test.imweb.io/topic/5b2b129e61340cbe5576ca44
lottie的Github:https://github.com/lottie-react-native/lottie-react-native/blob/master/docs/api.md
Lottie-前端实现AE动效:https://segmentfault.com/a/1190000018577416

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 在Vue使用CSS动画animate可以通过以下步骤实现: 1. 在Vue组件引入animate.css动画库 ``` import 'animate.css'; ``` 2. 在需要使用动画的元素上添加animate.css动画类名 ``` <template> <div class="box animate__animated animate__bounce">Hello World!</div> </template> ``` 3. 可以通过Vue的transition组件来实现进入和离开动画 ``` <template> <transition name="fade"> <div v-if="show" class="box">Hello World!</div> </transition> </template> <style> .fade-enter-active, .fade-leave-active { transition: opacity .5s; } .fade-enter, .fade-leave-to { opacity: 0; } </style> ``` 以上就是在Vue使用CSS动画animate的基本步骤。 ### 回答2: Vue.js是一款流行的前端JavaScript库,它可以帮助您快速构建动态响应的现代Web应用程序。其之一功能强大的功能是使用CSS动画来为Vue组件添加特殊的视觉效果。在Vue使用CSS动画通常需要使用类库来帮助管理动画:animate.css是其一个很好的选择。 Animate.css是一个轻量级的CSS动画框架,它提供了一个广泛的动画效果选项。它适用于各种类型的Web项目,包括Vue应用程序。下面是在Vue使用Animate.css动画的步骤: 步骤1:安装Animate.css 首先,在Vue项目安装Animate.css类库。可以使用npm包管理器来安装它: npm install animate.css --save 步骤2:导入Animate.css 在需要使用Animate.css动画的组件,将该类库导入并添加样式类名称。可以通过在组件内部或与其相关的样式表导入它。例如: <template> <div class="box"></div> </template> <script> import 'animate.css/animate.min.css'; export default { name: 'AnimateBox', data() { return { isVisible: true } } } </script> <style lang="scss"> .box { width: 100px; height: 100px; background-color: red; animation: bounce 2s infinite; } </style> 步骤3:添加动画 在组件的样式,添加动画名称(例如bounce)和持续时间(例如2秒)。 通过向组件的数据属性添加isVisible变量来启动和停止动画。例如: <template> <div :class="{ 'animated bounce': isVisible }"></div> <button @click="isVisible = !isVisible">Toggle animation</button> </template> <script> import 'animate.css/animate.min.css'; export default { name: 'AnimateBox', data() { return { isVisible: true } } } </script> 请注意,类animated和bounce是Animate.css的两个类名。isVisible变量在组件内部初始化为true,这将启动动画。当单击按钮时,可以使用对象绑定切换isVisible属性,以停止或重新启动动画。 结束语: 在Vue使用Animate.css动画是一种有趣且易于使用的方法,可以为您的Vue组件添加特殊的视觉效果,从而提高用户体验。上述是在Vue使用Animate.css动画的基本步骤,对于想要在Vue使用动画的开发者可以进行尝试。 ### 回答3: Vue使用CSS动画animate可以为网页增加更加生动的视觉效果,提升用户体验。实际上,Vue已经默认支持了大多数的CSS过渡和动画效果,只需要在动态绑定的数据添加过渡名称,然后在样式表定义过渡规则即可。 首先,在Vue的数据绑定使用transition和animation类名来定义需要添加动画效果的元素,这些类名可以与CSS过渡或动画样式表配合使用。针对不同过渡效果和事件,Vue通过以下类名提供对应的支持: 1. v-enter, v-leave-to: 在元素插入/移除之前使用,可定义过渡效果。 2. v-enter-active, v-leave-active: 在元素插入/移除之后使用,可定义过渡效果。 为了执行动画Vue使用了Web Animations API。通过配置动画属性,开发者可以将CSS动画应用到Vue元素Vue实现动画的方式主要有以下两种: 1. 在CSS设置关键帧(@keyframes)和动画名称,然后在Vue元素使用类名来触发动画效果。 2. 使用Vue提供的<transition>和<animation>组件,在元素出现或消失时自动添加/删除指定类名。 最后,需要注意的是,由于动画效果需要占用大量的系统资源,因此在使用Vue的CSS动画animate时,需要考虑优化动画效果,让其更加有效率。可以通过在CSS增加属性,如will-change或translate3d,来优化动画效果。确保过渡和动画效果的各种属性都能够顺畅地运行才能让你的网站更加生动有趣。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值