@hudsonfoo/skinnyscroll
v1.1.0
Published
Extra itty bitty scroll watcher.
Maintainers
Readme
@hudsonfoo/skinnyscroll
Extra itty bitty scroll watcher.
Install
$ npm install @hudsonfoo/skinnyscrollor
$ yarn @hudsonfoo/skinnyscrollUsage
Use attribute data-skinnyscroll and pass options as JSON.
SkinnyScroll will query the DOM for nodes with that attribute after being loaded. You can re-query the DOM with the update method.
Basic usage
<div data-skinnyscroll='{ "name": "my-event-name" }'></div>const SkinnyScroll = require('@hudsonfoo/skinnyscroll');
SkinnyScroll.on('my-event-name', element => {
// Do whatever you want, but as an example:
element.addClass('slideInUp'); // animate.css
});With options
<!-- This will call your event 200 pixels after entering the screen from below -->
<div data-skinnyscroll='{ "name": "my-event-name", "distance": 200 }'></div>Fire only once
const SkinnyScroll = require('skinnyscroll');
function makeItSlide(element) {
// Turn off event listener
SkinnyScroll.off('my-event-name', makeItSlide);
// Do whatever you want
}
SkinnyScroll.on('my-event-name', makeItSlide);Fire and turn off for a short amount of time
const SkinnyScroll = require('skinnyscroll');
function makeItSlide(element) {
// Turn off event listener
SkinnyScroll.off('my-event-name', makeItSlide);
setTimeout(() => {
SkinnyScroll.on('my-event-name', makeItSlide);
}, 500);
// Do whatever you want
}
SkinnyScroll.on('my-event-name', makeItSlide);Methods list
| Method | Arguments | Description |
|--------|----------------------------------------|-----------------------------------------------|
| on | name {String}, callback {Function} | Will fire callback when event is called |
| off | name {String}, callback {Function} | Turns off callback for this event |
| add | {HTMLNode} | Adds new HTML node to the watch list |
| update | {void} | Re-queries DOM for skinnyscroll nodes |
