Getting started
Static URL
Or you can use the script file from here: https://cdnjs.com/libraries/lottie-web
From Extension
Or get it directly from the AE plugin clicking on Get Player
lottie light
The extension includes lottie_light.js
which will play animations exported as svgs.
NPM
Bower
HTML
get the lottie.js file from the build/player/ folder for the latest build
include the .js file on your html (remember to gzip it for production)
You can call lottie.loadAnimation() to start an animation. It takes an object as a unique param with:
animationData: an Object with the exported animation data.
path: the relative path to the animation object. (animationData and path are mutually exclusive)
loop: true / false / number
autoplay: true / false it will start playing as soon as it is ready
name: animation name for future reference
renderer: 'svg' / 'canvas' / 'html' to set the renderer
container: the dom element on which to render the animation
It returns the animation instance you can control with play, pause, setSpeed, etc.
Usage
animation instances have these main methods:
anim.play()
anim.stop()
anim.pause()
anim.setLocationHref(locationHref) -- one param usually pass as location.href
. Its useful when you experience mask issue in safari where your url does not have #
symbol.
anim.setSpeed(speed) -- one param speed (1 is normal speed)
anim.goToAndStop(value, isFrame) first param is a numeric value. second param is a boolean that defines time or frames for first param
anim.goToAndPlay(value, isFrame) first param is a numeric value. second param is a boolean that defines time or frames for first param
anim.setDirection(direction) -- one param direction (1 is normal direction.)
anim.playSegments(segments, forceFlag) -- first param is a single array or multiple arrays of two values each(fromFrame,toFrame), second param is a boolean for forcing the new segment right away
anim.setSubframe(flag) -- If false, it will respect the original AE fps. If true, it will update as much as possible. (true by default)
anim.destroy()
lottie has 8 main methods: lottie.play() -- with 1 optional parameter name to target a specific animation lottie.stop() -- with 1 optional parameter name to target a specific animation lottie.setSpeed() -- first param speed (1 is normal speed) -- with 1 optional parameter name to target a specific animation lottie.setDirection() -- first param direction (1 is normal direction.) -- with 1 optional parameter name to target a specific animation lottie.searchAnimations() -- looks for elements with class "lottie" lottie.loadAnimation() -- Explained above. returns an animation instance to control individually. lottie.destroy() -- To destroy and release resources. The DOM element will be emptied. lottie.registerAnimation() -- you can register an element directly with registerAnimation. It must have the "data-animation-path" attribute pointing at the data.json url lottie.setQuality() -- default 'high', set 'high','medium','low', or a number > 1 to improve player performance. In some animations as low as 2 won't show any difference.
Events
onComplete
onLoopComplete
onEnterFrame
onSegmentStart
you can also use addEventListener with the following events:
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
Other loading options
if you want to use an existing canvas to draw, you can pass an extra object: 'renderer' with the following configuration:
Doing this you will have to handle the canvas clearing after each frame
Another way to load animations is adding specific attributes to a dom element.
You have to include a div and set it's class to lottie.
If you do it before page load, it will automatically search for all tags with the class "lottie".
Or you can call lottie.searchAnimations() after page load and it will search all elements with the class "lottie".
add the data.json to a folder relative to the html
create a div that will contain the animation.
Required
. a class called "lottie"
. a "data-animation-path" attribute with relative path to the data.json
Optional
. a "data-anim-loop" attribute
. a "data-name" attribute to specify a name to target play controls specifically
Example
Last updated