@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');
      };
  });
});
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы