isInViewport.js
Basic demo
Advanced demo
Custom viewport demo
Tests