Я считаю, что можно приготовить что-нибудь, используя position()
и scrollTop()
(добавьте scrollLeft
, если ваша страница склонна к горизонтальная прокрутка). Вот некоторый непроверенный пример кода, который должен отображать сообщение, если целевой элемент (полностью или частично) находится в области просмотра:
var pos = $('#element').position(), win = $(window);
if (pos.top < win.height() + win.scrollTop() && pos.bottom > win.scrollTop()) {
alert('Look at me!');
}
Условия можно поменять местами, если вам нужна полная видимость:
if (pos.bottom < win.height() + win.scrollTop() && pos.top > win.scrollTop()) {
Добавление поддержки горизонтальной прокрутки окна просмотра оставлено в качестве упражнения для читателя:)