Scrollend-js

Adds the capability to configure and subscribe to a scrollEnd event.


Project maintained by azundo Hosted on GitHub Pages — Theme by mattgraham

scrollend-js

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 simple demo can be seen here.