我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Javascript动画插件lottie-web的使用方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Javascript动画插件lottie-web的使用方法

lottie可以将一个json数据渲染成一个动画,而且支持多平台,在不同的平台下使用同一个json文件即可实现相同的效果,非常的方便。这里介绍前端的使用方法。
https://github.com/airbnb/lottie-web

1.配合vue-cli使用

1.npm安装lottie-web

npm install lottie-web

2.创建loading.vue
2.1引入lottie插件和需要的json数据
2.2接收父组件传入的配置参数
2.3在页面渲染完毕后进行初始化

<template>
    <!-- 为容器绑定样式 -->
    <div :style="style" ref="lavContainer"></div>
</template>

<script>
//引入lottie
import lottie from 'lottie-web'
//引入json数据
import animationData from '../../static/bitcoin.json'

export default {
    props: { //接收父元素传入的参数
      options: {
        type: Object,
        required: true
      },
      height: Number, 
      width: Number
    },
    data() {
      return {
        style: {  //设置容器的样式
          width: this.width ? `${this.width}px` : '40%', //如果父元素有传参则使用传参的值,没有则=40%
          height: this.height ? `${this.height}px` : '100%',//如果父元素有传参则使用传参的值,没有则=100%
          overflow: 'hidden',//超出容器隐藏
          margin: '0 auto' //水平居中
        }
      }
    },
    mounted() {
      lottie.loadAnimation({ //初始化
        container: this.$refs.lavContainer,//在哪个dom容器中生效
        renderer: 'svg',//渲染方式svg
        loop: this.options.loop !== false,//是否循环 如果传入的参数options.loop不为false 则一直循环 即默认循环
        autoplay: this.options.autoplay !== false,//是否自动播放  如果传入的参数options.autoplay不为false 则自动播放 即默认自动播放
        animationData: animationData,//动画数据,这个必须要有
        rendererSettings: this.options.rendererSettings
      })
    }
  }
</script>

3.父组件引用loadding.vue
可以为loadding组件设定一个容器,通过空中这个容器的display属性来控制loadding组件的显示和隐藏

<template>
    <div class="test_wrap">
        <div v-show="show">
            <loadding :options="defaultOptions" />
        </show>
    </div>
</template>
<script>
//引入子组件
import loadding from '@/components/loadding'

export default {
    data () {
        return {
            show:false,
            defaultOptions: {
        autoplay: true,//自动播放
        loop: true,//循环播放
       },
        }
    },
    components: {
    'loadding': loadding
  }
}
</script>

2.在HTML页面中使用

1.引入lottie-web这个插件 可以使用cdn,也可以引入本地的

<script class="lazy" data-src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.6.8/lottie_svg.min.js">
</script>

2.页面加载完毕后,初始化,并传入相应的配置项

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script class="lazy" data-src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.6.8/lottie_svg.min.js"></script>
    <script class="lazy" data-src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
    <title>Document</title>
</head>
<body>
    <div class="box"></div>
</body>
</html>
<script>
    $(function(){
        //getJSON() 方法使用 AJAX 的 HTTP GET 请求获取 JSON 数据
        $.getJSON("./betcoin.json",function(result){
            //获取到数据后进行初始化
            console.log(result)
            lottie.loadAnimation({ //初始化
                container: document.querySelector('.box'),//在哪个dom容器中生效
                renderer: 'svg',//渲染方式svg
                loop: true,//循环
                autoplay: true,//自动播放
                animationData: result,//动画数据
            })
		})
    })
</script>

注意:json数据使用了ajax进行获取,要留意跨域问题。

为了避免跨域或者本地读取时的权限问题,可以讲json文件的数据用 反引号 `` 包裹起来,用一个全局变量保存,然后保存为betcoin2.js,即可使用这个数据了,记得用JSON.parse()将json字符串转换回对象格式

//betcoin2.js
var animationData = `省略,里面为原json对象`
<script class="lazy" data-src="./betcoin2.js"></script>
<script>
    window.onload = function(){
        lottie.loadAnimation({ //初始化
            container: document.querySelector('.box'),//在哪个dom容器中生效
            renderer: 'svg',//渲染方式svg
            loop: true,//循环
            autoplay: true,//自动播放
            animationData: JSON.parse(animationData),//动画数据
        })
    }
</script>

到此这篇关于Javascript动画插件lottie-web的使用方法的文章就介绍到这了,更多相关Javascript动画插件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Javascript动画插件lottie-web的使用方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Dockerfile Maven 插件的使用方法

本篇内容介绍了“Dockerfile Maven 插件的使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Dockerfile Mave
2023-06-19

使用SpringBootMaven插件的详细方法

这篇文章主要介绍了如何使用SpringBootMaven插件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-19

Android上使用jspf插件框架的方法

本文实例讲述了Android上使用jspf插件框架的方法。分享给大家供大家参考。具体如下: jspf (Java Simple Plugin Framework) 是一个插件框架,集成了很多 IoC 框架的概念在里面。package de.
2022-06-06

Jquery弹出层插件ThickBox的使用方法

要使用jQuery弹出层插件ThickBox,您需要按照以下步骤进行操作:1. 首先,下载并引入jQuery库和ThickBox插件的源文件。您可以在ThickBox的官方网站(http://jquery.com/和http://jquer
2023-08-17

dedecms编码转换插件的使用方法

《DedeCMS编码转换插件的使用方法,需要具体代码示例》DedeCMS是一款功能强大、易于使用的开源内容管理系统,广泛应用于各类网站建设中。在使用DedeCMS的过程中,有时会碰到需要对内容进行编码转换的情况,特别是在处理多语言网站或者
dedecms编码转换插件的使用方法
2024-03-14

lombok插件无法使用的原因及解决方法

这篇文章主要介绍“lombok插件无法使用的原因及解决方法”,在日常操作中,相信很多人在lombok插件无法使用的原因及解决方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”lombok插件无法使用的原因及解
2023-06-20

Idea使用Bashsupport插件编辑Shell脚本的方法

IEDA中的Bashsupport插件支持在IDEA中编写shell脚本文件,有友好的代码格式,支持自动补全,检查错误,并且配置完之后,还可以在IEDA中直接运行shell脚本。下面将一步一步演示插
2022-06-04

在Linux中使用Vundle管理Vim插件的方法

前言 毋庸置疑,Vim 是一款强大的文本文件处理的通用工具,能够管理系统配置文件和编写代码。通过插件,Vim 可以被拓展出不同层次的功能。通常,所有的插件和附属的配置文件都会存放在 ~/.vim 目录中。由于所有的插件文件都被存储在同一个目
2022-06-04

Maven Web项目使用Cargo插件实现自动化部署的详细步骤

cargo,它是一组帮助用户实现自动化部署,操作Web容器的工具,并且几乎支持所有的Web容器,这篇文章主要介绍了Maven Web项目使用Cargo实现自动化部署,需要的朋友可以参考下
2023-02-21

编程热搜

目录