JQuery test code
function test() {
var $elem = $('.test');
var visibleAtTop = $elem.offset().top + $elem.height() >= $(window).scrollTop();
var visibleAtBottom = $elem.offset().top <= $(window).scrollTop() + $(window).height();
if (visibleAtTop && visibleAtBottom) {
alert('visible');
} else {
alert('invisible (at ' + (visibleAtTop ? 'bottom' : 'top') + ')');
}
}
http://jsfiddle.net/9PaQc/1/ (: http://jsfiddle.net/9PaQc/2/)
P.S. . , top left, Y → X height() → width()
jQuery ( x-), window.scrollY → $(window).scrollTop()