Задать вопрос

Почему дергается блок при добавлении position:fixed при скроллинге?

$(window).scroll(function() {
    $('.portfolio-categories').each(function(){
    var imagePos = $(this).offset().top;
    var topOfWindow = $(window).scrollTop();
        if (imagePos < topOfWindow) {
            $(".portfolio-categories").addClass('fixedPortfolio');
        } else   if (imagePos > topOfWindow) {
          $(".portfolio-categories").removeClass('fixedPortfolio');
        }
    });
});

Собственно, если мы докрутили до блока и листаем дальше,он становится фиксированным и едет за пользователем, если же скроллим наверх, то блок отменяет фиксацию, когда достигает своего первоначального положения. Но беда в том, что при скроллинге вообще, этот блок все время непонятно дергается, в чем может быть причина?
  • Вопрос задан
  • 279 просмотров
Подписаться 1 Оценить 3 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@axeax
$('.portfolio-categories').each
много у вас блоков с классом portfolio-categories? Если много, то естественно пока each их все обойдет, будут тормоза.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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