The following function can be used to test whether an element is currently visible.
function onScreen(e) {
// Test whether the supplied element is visible.
var rp = e.offsetParent;
if (rp == null)
return false;
var pleft = e.offsetLeft;
var ptop = e.offsetTop;
while (true) {
if (!((pleft >= rp.scrollLeft) &&
(pleft <= rp.scrollLeft + rp.clientWidth) &&
(ptop >= rp.scrollTop) &&
(ptop <= rp.scrollTop + rp.clientHeight)))
return false;
pleft += rp.offsetLeft - rp.scrollLeft ;
ptop += rp.offsetTop - rp.scrollTop;
rp = rp.offsetParent;
if (rp == null)
return true;
}
}