View on GitHub

Sloth

Library to lazy initialize components of a webpage when they become visible

Download this project as a .zip file Download this project as a tar.gz file

Library to lazy initialize components of a webpage when they become visible

it listens to scroll event only when some callbacks were registered

Features:

Basic usage:

sloth({
    on: element/array of element/node list,
    threshold: no of pixels [OPTIONAL] - default: 100
    callback: function to call when element is visible - as parameter it gets element that become visible
});

example:

require(['sloth'], function(sloth){
    sloth({
        on: document.getElementsByTagName('div'),
        threshold: 100
        callback: function(element){
            element.className += ' visible';
        }
    });
});

or if you don't use any amd framework

    sloth({
        on: document.getElementsByTagName('div'),
        threshold: 100
        callback: function(element){
            element.className += ' visible';
        }
    });

Parameters:

on - element or elements that you want to fire callback on it can be a single element, a NodeList or an regular array of elements callback will be fired for all of these elements

threshold - a threshold that sloth should use 100 is a default value means that callback will be fired when element is 100px away from being visible you can also pass negative number so callback will be called after an element is visible

callback - is a callback to fire when an element is visible (duh...) there is one parameter passed to callback and this is an element that has just become visible so you don't have to guess what to do on which element

As seen on http://microjs.com/#sloth

Demo (Warning - this demo is infinite!)