Добавления класса при скролинге

голоса: 0

Здравствуйте, есть такой код:

<script type='text/javascript'>
jQuery(document).ready(function($){
     $nav = $(".block1");
     $window = $(window);
    // Определяем координаты верха блока навигации
    $h = $nav.offset().top;
    $window.scroll(function(){
        // Если прокрутили скролл ниже макушки блока, включаем фиксацию
        if ( $window.scrollTop() > $h) {
               $nav.addClass("sheensay_fixed");
        }else{
            //Иначе возвращаем всё назад
            $nav.removeClass("sheensay_fixed");
        }
  });
});
</script>

почему-то работает только когда поле имеет такое значение:     $h = $nav.offset().top; если вместо топ установить другой класс все перестает рабоать.

Подскажите пожалуйста в чем проблема сайт: http://evrocheholspb.ru/shop/odezhda-dlja-mebeli/chekhly-na-divany

Адрес сайта http://evrocheholspb.ru/
| Автор: | Категория: JavaScript

Ответов: 2

голоса: 0
 
Лучший ответ
В вашей задаче много подводных камней, о котороых вы даже не догадывайтесь. Используйте готовый плагин http://stickyjs.com/
| Автор:
Выбор ответа лучшим | | Автор: Yuri_Geruk
голоса: 0
Класс устанавливается здесь  $nav.addClass("sheensay_fixed"); и его имя .sheensay_fixed
| Автор:
Какие строки отвечают за лобавления и удаления класса их я знаю
aziz sadikov,
<<$h = $nav.offset().top; если вместо топ установить другой класс все перестает рабоать.>> Тогда поясните, какой класс вы туда ставите и зачем если это готовая функция и она возвращает координату нахождения блока $(".block1");
...