Lottie一个适用于Web、Android、iOS、React Native和Window的移动库,它可以使用Bodymovin解析以json格式导出的Adobe After Effects动画,并再移动设备上进行本地渲染。
1.需要引入JavaScript文件,我使用的是cdn中的链接。这里直接上链接,按需取用。点这里
2.json格式的文件
我不是UI啊,我也不知道怎么做出来的,我只知道使用AE做的动画再导出的。到我手里就是两个文件:一个.html文件和一个.json文件。
html后缀的文件可以直接使用,但是对于项目来说会存在冗余,所以我是用的json后缀文件。
3.引入json文件
在HTML里引入json文件我是这样做的: 1.需要给json文件声明变量接收 拿到的json文件:{" ":" "," ":" "} 处理后json文件:var one={" ":" "," ":" "} (文件太长了,复制过来占地方,就这样看吧,也不影响[狗头]) 2.在文件中使用<script></script> 标签引入json文件
4.使用lottie
接下来就是本篇文的主角–lottie
<body>
<div id="lottie"></div>
<script type="text/javascript" src="js/json/animation.json"></script>
<script type="text/javascript">
const anim = lottie.loadAnimation({
container: document.getElementById('lottie'),
renderer: 'svg',
loop: false,
autoplay: false,
animationData: one
})
window.onload=function(){anim.play()}
</script>
</body>
5.常用方法
anim.play() :播放,从当前帧开始播放 anim.stop() :停止,并回到第0帧 anim.pause() :暂停,并保持当前帧 anim.goToAndStop(value,isFrame) :跳到某个时刻/帧并停止 anim.goToAndPaly(value,isFrame) :跳到某个时刻/帧并播放
animation.goToAndStop(30, true)
animation.goToAndPlay(300)
anim.playSegments(arr,forceFlag) :以帧为单位,播放指定片段
animation.playSegments([10,20], false)
animation.playSegments([[0,5],[10,18]], true)
anim.setSpeed(speed) :设置播放速度,speed为1表示正常速度 anim.setDirection(direction) :设置播放方向,1表示正向播放,-1表示反向播放 anim.destroy() :删除该动画,移除相应的元素标签等
|