//插件太大了 --按需导入
// 官网:http://airbnb.io/lottie/#/web
//代码地址 - https://cdnjs.com/libraries/bodymovin
//只需canvas --lottie_canvas.min.js --
//<div id="lottie2"></div>
var animData = {
wrapper: document.getElementById('lottie2'),
animType: 'canvas',
loop: true,
prerender: true,
autoplay: true,
path: "data.json" //直接写路径
};
var anim = bodymovin.loadAnimation(animData);
bodymovin.setSubframeRendering(false);
anim.onLoopComplete = function(){//事件
console.log("播放完毕监听...........")
}
// const animation = lottie.loadAnimation({
// container: document.getElementById('box'),
// renderer: 'svg',// 渲染方式:svg、canvas
// loop: true, // 循环播放,默认:false
// autoplay: true, //自动播放 ,默认:true
// path: ' ' // json 路径
// })
// animation.play(); // 播放,从当前帧开始播放
// animation.stop(); // 停止,并回到第0帧
// animation.pause(); // 暂停,并保持当前帧
// animation.goToAndStop(value, isFrame); // 跳到某个时刻/帧并停止isFrame(默认false)指示value表示帧还是时间(毫秒)
// animation.goToAndPlay(value, isFrame); // 跳到某个时刻/帧并进行播放
// animation.goToAndStop(30, true); // 跳转到第30帧并停止
// animation.goToAndPlay(300); // 跳转到第300毫秒并播放
// animation.playSegments(arr, forceFlag); // arr可以包含两个数字或者两个数字组成的数组,forceFlag表示是否立即强制播放该片段
// animation.playSegments([10,20], false); // 播放完之前的片段,播放10-20帧
// animation.playSegments([[0,5],[10,18]], true); // 直接播放0-5帧和10-18帧
// animation.setSpeed(speed); // 设置播放速度,speed为1表示正常速度
// animation.setDirection(direction); // 设置播放方向,1表示正向播放,-1表示反向播放
// animation.destroy(); // 删除该动画,移除相应的元素标签等。在unmount的时候,需要调用该方法
// onComplete:动画整体播放完成(如果是循环播放,循环播放完成后触发)
// onLoopComplete:针对循环动画,单次一遍播放完成后触发
// onEnterFrame
// onSegmentStart
// complete
// loopComplete
// enterFrame
// segmentStart
// config_ready (when initial config is done)
// data_ready (when all parts of the animation have been loaded)
// DOMLoaded (when elements have been added to the DOM)
// destroy
AE导出JSON,web端生成canvas svg
最新推荐文章于 2024-09-02 07:05:52 发布