Вы можете написать функцию jQuery, подобную этой, чтобы определить, находится ли элемент в окне просмотра.
Включить это где-то после включения jQuery:
$.fn.isInViewport = function() {
var elementTop = $(this).offset().top;
var elementBottom = elementTop + $(this).outerHeight();
var viewportTop = $(window).scrollTop();
var viewportBottom = viewportTop + $(window).height();
return elementBottom > viewportTop && elementTop < viewportBottom;
};
Пример использования:
$(window).on('resize scroll', function() {
if ($('#Something').isInViewport()) {
// do something
} else {
// do something else
}
});
Обратите внимание, что это проверяет только верхнее и нижнее положения элементов, оно не проверяет, находится ли элемент вне области просмотра по горизонтали.