Little helper to integrate faster the bodymovin / lottie animations in a html page.
Add this to your html:
<script src="bl-plus.js" type="text/javascript"></script>
(and be sure to have bodymovin/bodymovin-light/lottie loaded in your html as well)
Here's a basic example:
<div data-blp="balloon-animation"></div>
An advanced example:
<div data-blp="balloon-animation" data-blp-loop="true" data-blp-preserve-ratio="false" data-blp-speed="2.5" data-blp-autoplay="false"></div>
BLP is looking for the [data-blp]
attribute to load.
It's using this element as wrapper for the animation.
The animation name and json file name needs to be the same because
by default it will look in the assets/js/anims
folder
(if you're not using custom file path method below).
To define custom file path for the JSON animation
[data-blp-file="http://url.com/path/to/my/animation.json"]
- Type:
string/path
- Default:
http://example.com/assets/js/anims/animation-name.json
Sometimes you have non-vector images in an exported animation,
images are stored inside an object with name and file path as properties.
[data-blp-images="{'Calque_0':'http://url.com/path/to/the/image/Calque_0.png','Calque_1':'http://url.com/path/to/the/image/Calque_1.png'}"]
- Type:
Object
To loop the animation
[data-blp-loop="false"]
- Type:
boolean
- Default:
false
- Options:
true/false
To autoplay the animation using differents triggers
[data-blp-autoplay="view"]
- Type:
boolean/string
- Default:
"view"
- Options:
true/false/view
To manage the speed of the animation (use negative value to play backwards)
[data-blp-speed="1"]
- Type:
integer
- Default:
1
To lazyload the data json file.
[data-blp-lazyload="true"]
- Type:
boolean
- Default:
true
- Options:
true/false
To preserve the aspect ratio of the animation
[data-blp-preserve-ratio="true"]
- Type:
boolean
- Default:
true
- Options:
true/false
BLP is also making a global variable in the DOM blplus
to store all the animations instances of a page.
Example: type blplus
in your console.
Useful if you need to tweak even more some animations, to use them as transition of a page for example, you might need to stop or play an animation at a specific time.
You can do it like this in javascript:
blplus.my_transition_animation.instance.goToAndPlay(0)
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :)
- 1.0 : Added 'loop', 'autoplay', 'file', 'speed', 'lazyload', 'images', 'preserve ratio' features.
- Cache (to prevent loading multiple times the same file for differents animations instances)
- More triggers (like click or hover on the wrapper animation for example)
- WordPress plugin
- DamChtlv
MIT Licence