ViewPort is a project mainly written in JavaScript, it's free.
A jQuery plugin for detecting whether nodes are within the browser viewport
ViewPort is a plugin for jQuery that helps you detect whether a given set of DOM nodes are visible within the browser viewport at any given moment. This plugin attaches scroll, resize, and click event handlers to the window node. Because of this, there is an optional dependency on Ben Alman's Throttle/Debounce jQuery plugin.
Example of how to use ViewPort:
function myHandler(e, data) { console.log(data); //will return true or false depending on whether the element is in view }
$('.thumb').viewPort({
buffer: 300
,delimitRate: 200
}, myHandler);