Задать вопрос
@ferdasfarmazone
Верстальщик!

Со временим тормозит анимация смены бг для body, как пофиксить?

ребят, есть такая задача
Есть сайт, который наполнен секциями .section, в зависимости от видимой секции нужно добавлять/убирать класс для body .theme-dark/.theme-light
написал для этого jquery но со временим (проскрольте к футеру и обратно) она тормозит анимацию смены бг для боди
вот пациент avto116.com/scroll
полагаю, что кривой js
как можно такое пофиксить и сделать лучше? за вознаграждения думаю договоримся

function isVisible( row, container ){
    var elementTop = $(row).offset().top,
        elementHeight = $(row).height(),
        containerTop = container.scrollTop(),
        containerHeight = container.height() - 300;
    
    return ((((elementTop - containerTop) + elementHeight) > 0) && ((elementTop - containerTop) < containerHeight));
}

$(window).scroll(function(){
  $('.js-theme-contrast-dark').each(function(){
      if(isVisible($(this), $(window))) {
        $('body').removeClass('theme-light').addClass('theme-dark');
      };
  });
  $('.js-theme-contrast-light').each(function(){
      if(isVisible($(this), $(window))) {
        $('body').removeClass('theme-dark').addClass('theme-light');
      };
  });
});
  • Вопрос задан
  • 80 просмотров
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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