Package Exports
- enter-view
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (enter-view) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
enter-view
Dependency-free JavaScript library to detect when element enters into view. See demo. It uses requestAnimationFrame in favor of scroll events for less jank. Less than 1kb minified + gzipped.
Installation
Old school (exposes the enterView
global):
<script src="https://unpkg.com/enter-view"></script>
New school:
npm install enter-view --save
And then import/require it:
import enterView from 'enter-view'; // or...
const enterView = require('enterView');
Usage
enterView({
selector: '.class-name',
enter: function(el) {
el.classList.add('entered');
}
});
enterView({
selector: '.class-name',
enter: function(el) {
el.classList.add('entered');
},
exit: function(el) {
el.classList.remove('entered');
},
progress: function(el, progress) {
el.style.opacity = progress;
},
offset: 0.5, // enter at middle of viewport
once: true, // trigger just once
});
Options
selector: [string or array of elements] required
Takes a class, id, or array of dom elements.
enter: [function] optional
Callback function that returns the element that was entered.
exit: [function] optional
Callback function that returns the element that was exited.
progress: [function] optional
Callback function that returns the element that was progressed through, and a value between 0 and 1 of how far through the element progress has been made.
offset: [number] optional (defaults to 0)
A value from 0 to 1 of how far from the bottom of the viewport to offset the trigger by. 0 = top of element crosses bottom of viewport (enters screen from bottom), 1 = top of element crosses top of viewport (exits screen top).
once: [boolean] optional (defaults to false)
Whether or not to trigger the callback just once.