简介

Lottie一个适用于Web,Android,iOS,React Native和Windows 的移动库,它可以使用Bodymovin解析以json格式导出的Adobe After Effects动画,并在移动设备上进行本地渲染!

安装

npm install lottie-web

基本用法

const animation = lottie.loadAnimation({
    container: document.getElementById('box'),
    renderer: 'svg',        // 渲染方式:svg:支持交互、不会失帧、canvas、html:支持3D,支持交互
    loop: true,             // 循环播放,默认:true
    autoplay: true,         // 自动播放 ,默认true
    path: ''                // json 路径
})

常用方法

方法描述
animation.play()播放,从当前帧开始播放
animation.stop()停止,并回到第0帧
animation.pause()暂停,并保持当前帧
animation.goToAndStop(value, isFrame)跳到某个时刻/帧并停止【isFrame(可省略,默认false:毫秒;true:帧)指明value的单位是毫秒还是帧】
animation.goToAndPlay(value, isFrame)跳到某个时刻/帧并播放
animation.playSegments(arr, forceFlag)以帧为单位,播放指定片段【arr可以包含两个数字或者两个数字组成的数组,forceFlag表示是否立即强制播放该片段】
animation.setSpeed(speed)设置播放速度,speed为1表示正常速度
animation.setDirection(direction)设置播放方向,1表示正向播放,-1表示反向播放
animation.destroy()删除该动画,移除相应的元素标签等。【在unmount的时候,需要调用该方法】
animation.goToAndStop(30, true)     // 跳转到第30帧并停止
animation.goToAndPlay(300)          // 跳转到第300毫秒并播放
animation.playSegments([10,20], false)          // 播放完之前的片段,播放10-20帧
animation.playSegments([[0,5],[10,18]], true)   // 直接播放0-5帧和10-18帧

常用钩子

钩子描述
data_ready动画数据加载完毕
config_ready完成初始配置后
data_failed当无法加载动画的一部分时
loaded_images当所有图像加载成功或错误时
DOMLoaded将元素添加到DOM时
animation.addEventListener('data_ready', () => { console.log('hahahhahaahha'); });

起风了
120 声望35 粉丝

北冥有鱼,其名为鲲。鲲之大,不知其几千里也;化而为鸟,其名为鹏。鹏之背,不知其几千里也;怒而飞,其翼若垂天之云。是鸟也,海运则将徙于南冥。南冥者,天池也。