jQuery – если div находится в верхней части windows, добавьте class / стиль? (липкий баннер)

Поэтому я сделал липкий баннер

Пример здесь: http://jsfiddle.net/zu60j5rr/

В этом примере он отлично работает. Но сайт, на котором я хочу использовать его, имеет верхний навигатор, который не совсем визуализируется в разных браузерах. Поэтому я не могу полагаться на «верх», чтобы работать так, как надо, во всех браузерах

Так что мне интересно. Есть ли способ добавить заявление о чем-то вроде, если div попал в верхнюю часть windows – Добавить стиль, чтобы зафиксировать позицию? А затем, если он прокручивается назад, удалите стиль?

вот то, что у меня сейчас есть, как возили:

$(document).on( 'scroll', function(){ if ($(window).scrollTop() > 100) { $('#stickyBanner').css({position: "fixed", top: "0px"}); } else { $('#stickyBanner').css({position: "relative", top: "0px"}); } }); 

Спасибо!!

Вы можете немного изменить свой скрипт, чтобы он мог проверить, больше ли значение верхнего значения вставки на липкой навигации больше или равно значению windows scrollTop. В принципе, если они одинаковы / равны, элемент находится в верхней части windows 🙂

Пример здесь http://jsfiddle.net/zu60j5rr/1/

 var stickyTop = $('#stickyBanner').offset().top; $(window).on( 'scroll', function(){ if ($(window).scrollTop() >= stickyTop) { $('#stickyBanner').css({position: "fixed", top: "0px"}); } else { $('#stickyBanner').css({position: "relative", top: "0px"}); } });