2013-12-01 3 views
3

У меня есть .navigation в верхней части обертки. Я хочу добавить класс .fixed, когда верхняя часть окна достигла .bottom. DIV & удалите этот класс, когда верхняя часть .bottom находится в области окна (это переключение между добавлением и удалением .fixed класса).Добавьте класс в DIV, когда верхняя часть окна достигает определенного элемента и удаляет его, если не

add fixed class to the navigation

<div id="wrapper"> 
    <div class="navigation"> 
     <!-- There are some list elements here --> 
    </div> 
    <div class="bottom"></div> 
</div> 

Это то, что я сделал, но не работает

bottom  = $('.bottom'); 
$(window).scroll(function(){  
    if ($(this).scrollTop() > bottom){ 
     $('.navigation').addClass('fixed'); 
    } 
    else{ 
     $('.navigation').removeClass('fixed'); 
    } 
}); 
+1

Визуализация вашего требования хорошая, но где ваш код? –

+0

Как прокручивается '.navigation'? – acdcjunior

+0

@acdcjunior Прокручивается с помощью скроллера браузера по умолчанию –

ответ

4

var bottom = $('.bottom').offset().top;

Это должно сделать это.

Это сравнение смещения от вершины окна просмотра к окну scrollTop() вместо сравнения всего элемента.

+0

Рад, что я мог помочь. :) – Labu

Смежные вопросы