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; } }