@pashabomber

Почему скрипт некорректно работает в середине страницы?

endocs.volodinweb.ru/about.html

В верстке есть блок истории компании. Он идет в середине страницы.
Есть код
$(window).scroll(function() {
  $('.about-history-block .content .list .item').each(function() {
    if ($(window).scrollTop()+$(window).height() / 2 >= $(this).position().top && $(window).scrollTop() < $(this).position().top + $(this).height()) {
      if (!$(this).hasClass('active')){
		$(this).addClass('active');
      }
    }
    else if ($(this).hasClass('active')) {
      $(this).removeClass('active');
    }
  });
});


Благодаря этому коду при скролле каждому блоку "item" внутри блока истории добавляется класс active когда мы до этого блока доскроллили (для наглядности сделал серый фон у блока с классом active). Если блок истории вставить в начале страницы (я это сделал), то всё отлично работает. А если этот блок вставить в середине страницы, то сильно раньше каждый раз срабатывает скрипт, класс "active" добавляется блокам когда еще до них не доскроллили.
Помогите, пожалуйста, разобраться. Что поменять в коде, чтобы скрипт срабатывал нормально?

Заранее спасибо!
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы