$(function () {
var $special = $('#cooler-nav');
$(window).on('scroll', function () {
if ($special.offset().top <= $('body').scrollTop()) {
console.log('You have reached the `#special` element');
} else {
console.log('You aren\'t quite there yet.');
}
});
});
Что вы делаете, это привязывает обработчик события к событию scroll
для объекта window
(или любого объекта, который прокручивается, т.е. имеет полосы прокрутки).В этом обработчике событий мы получаем верхнее смещение элемента, который вы хотите просмотреть, и видим, прокручивается ли window
до его высоты.
Вот демонстрация: http://jsfiddle.net/wxeFP/ (посмотритеконсоль, чтобы увидеть изменение сообщения при прокрутке мимо элемента #cooler-nav
)
Если вы хотите запустить код, как только появляется элемент #cooler-nav
, вы можете добавить высоту viewport
s кbody
s scrollTop
значение:
if ($special.offset().top <= ($('body').scrollTop() + $(window).height())) {
Демонстрация для этого: http://jsfiddle.net/wxeFP/1/