Skip to content

Latest commit

 

History

History
62 lines (47 loc) · 1.8 KB

README.md

File metadata and controls

62 lines (47 loc) · 1.8 KB

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

it listens to scroll event only when some callbacks were registered

Features:

  • no dependencies
  • fires callback for elements that become visible
  • support for threshold - so it can fire callback right before or after an element is visible
  • uses AMD
  • uses global sloth if no amd defined
  • removes listener when it has nothing to do
  • works when scrolling down and up
  • 459B(!) - minified and gzipped

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