Adds the capability to configure and subscribe to a scrollEnd event.
Checks the scroll position every 100ms and fires subscriber functions if scrolling has stopped. Doesn't attach to the scroll event as that produces slow and jerky scrolling behaviour.
Usage
You must first create a ScrollEnd instance and then subscribe to it. Any
function that has subscribed is called when scrolling stops. ScrollEnd passes
the position of the top of the screen as an argument to all subscribers.
var onScrollEnd = new ScrollEnd();
onScrollEnd.subscribe(function (scrollPosition) {
console.log('You stopped scrolling at: ' + scrollPosition);
});Functions can also be unsubscribed.
var onScrollEnd = new ScrollEnd();
// subscribe
onScrollEnd.subscribe(myFunc);
// unsubscribe
onScrollEnd.unsubscribe(myFunc);The sub and unsub functions are also aliased to subscribe and
unsubscribe respectively.
Configuration
ScrollEnd takes an options config options. Currently it only supports one
option, a checkInterval integer that specifies the interval in milliseconds to
check the scroll position for a stoppage. If not specified in options
checkInterval defaults to 100.
// check every 50ms instead of 100ms
onScrollEnd = new ScrollEnd({
checkInterval: 50
});Demo A demo can be seen at http://azundo.github.io/scrollend-js/examples/.