revealfx
v0.0.2
Published
This is a micro animation library based on anime.js to achieve smooth block reveal effects and has a simple API
Maintainers
Readme
RevealFx

A lightweight animation plugin based on animejs for revealing effects animation with simple API that works in every major browser. It works with the text, images or any UI element.
Installation
- npm
npm i revealfx- CDN or unpkg link
https://unpkg.com/revealfx@latest/src/revealFx.jsNote: You need to have >=3.0 version of anime.js for this plugn to work
<script src = "anime.min.js"></script>
<script src = "revealFx.js"></script>Syntax
- Inorder to implement the animation to a certain element, first select the element . For example :
var element1 = document.querySelector('#id1');- Now it should be passed as the first argument to the constructor as follows
var rev1 = new RevealFx(element1,options);- The above snippet initializes the element with the block reveal animation. The following method invokes the animation
rev1.reveal(revealSettings);Refer API section for more details on customization
API
|Name|Description |Default value |
|----|------------|--------------|
| isContentHidden | If true , the content of the element will be hidden until it is revealed | true|
| layers| The number of layers to be shown during the animation | 1|
| revealSettings| JSON options for animations and callback functions. This can be set initially or be passed during reveal() method call | {} |
- The following are the options available inside the revealSettings JSON and can be set both at initialization or during the reveal() method call
|Name|Description |Default value |
|-----|------|-------|
| direction | Animation direction: Block can be revealed from left to right (lr) or right to left (rl) or top to bottom (tb) or bottom to top (bt) | 'lr'|
|bgColors| Array of colors that can be set as background for each layer respectively |['#111']|
|duration| Total Time taken for animation to take place | 500|
|easing| Easing function for animation. Many more easing functions are available at anime.js| easeInOutQuint|
|coverArea| percentage-based value representing how much of the area should be left covered | 0|
|delay| staggered delay in timing between the layer | 100|
|onStart| Callback, with the parameters of the element that is animated and layers that animate ,when the animation starts | Method/Function|
|onHalfway| Callback, with the similar parameters as the above method , when the animation is halfway through of the animation | Method/Function|
|onComplete| Callback,with the similar parameters as the above method , when the animation is completed | Method/Function|
Methods and Functions
onStart- This is a callback method with the parameters of the element that is animated and layers that animate ,when the animation starts
- parameters:
contentEl,revealerEl
onStart: function (contentEl, revealerEl) { //contentEl is the element that is animated. //revealerEl is an array of the layers that animate the contentEl }onHalfway- This is a callback method with the parameters of the element that is animated and layers that animate ,when the animation is halfway through the animation
- parameters:
contentEl,revealerEl
onHalfway: function (contentEl, revealerEl) { //contentEl is the element that is animated. //revealerEl is an array of the layers that animate the contentEl }onComplete- This is a callback method with the parameters of the element that is animated and layers that animate ,when the animation completes
- parameters:
contentEl,revealerEl
onComplete: function (contentEl, revealerEl) { //contentEl is the element that is animated. //revealerEl is an array of the layers that animate the contentEl }
Demo
- Clone this repo and run the following commands for the demo
npm install
npm start- Here is the live link for Codepen Demo
- If you are a comic book fan , then check out this pen I made on the Avengers End Game
Contribute
- Fork it or clone it
- git checkout -b NEW-FEATURE
- git commit -am 'ADD SOME FEATURE'
- git push origin NEW-FEATURE
ToDos
[x] Add Images to Readme
[x] links update in the documentation
[ ] demo snippets update
Credits
This is inspired from Mary Lou's Block Reveal Animation Tutorial. As part of a design for my portfolio website, I have used this effect for user's focus. This plugin draws major logic from the article but provides a lean,more options and self descriptive API which can be used to create sleak and superb block animation. I hope you will find this library useful
License
MIT
