Gatsby plugin to animate DOM elements on scroll. Using Sal (Scroll Animation Library) focus on performance less than 2.8kb, written in vanilla Javascript.
To see how to use advanced options visit Sal's docs.
Note: Supported IE11
yarn add gatsby-plugin-scroll-reveal
or
npm install --save gatsby-plugin-scroll-reveal
- Include the plugin in your
gatsby-config.js
file. - Add your custom
options
object (optional)
// in gatsby-config.js
plugins: [
`gatsby-plugin-scroll-reveal`
];
Note: If you are using Gatsby Plugin Transition Link add this plugin first in the config.
Here is a full list of options with their default values you can use to configure this plugin.
// in gatsby-config.js
plugins: [
{
resolve: `gatsby-plugin-scroll-reveal`,
options: {
threshold: 1, // Percentage of an element's area that needs to be visible to launch animation
once: true, // Defines if animation needs to be launched once
disable: false, // Flag for disabling animations
// Advanced Options
selector: '[data-sal]', // Selector of the elements to be animated
animateClassName: 'sal-animate', // Class name which triggers animation
disabledClassName: 'sal-disabled', // Class name which defines the disabled state
rootMargin: '0% 50%', // Corresponds to root's bounding box margin
enterEventName: 'sal:in', // Enter event name
exitEventName: 'sal:out', // Exit event name
}
}
];
It will look for all HTML elements with a data-sal
attribute and launch their animation when in viewport.
data-sal
- attribute with the animation name as value - requireddata-sal-duration
- changes duration of the animation - optionaldata-sal-delay
- adds delay to the animation - optionaldata-sal-easing
- sets easing for the animation - optional
For example:
<div
data-sal="slide-up"
data-sal-delay="300"
data-sal-easing="ease"
></div>
The library supports:
fade
slide-up
slide-down
slide-left
slide-right
zoom-in
zoom-out
flip-up
flip-down
flip-left
flip-right
This plugin is not compatible anymore with Gatsby v1, you should update to the version 2.0.0.
We are open to new functionalities or fix bugs. If you want to collaborate to improve this plugin, just make a pull request 🤗
Created by Soluble Studio. Released under the MIT License.