Задать вопрос
@96Nick

Смена картинок при скролле?

Всем привет! Помогите пожалуйста, как можно сделать чтоб при скролле левого контента (включая скролл через скроллбар) менялся активный класс для картинки codepen
  • Вопрос задан
  • 163 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 1
RAX7
@RAX7
const boxScroll = document.querySelector('.box__list_scroll');
const boxImgs = document.querySelectorAll('.box__imgs > .box__img');

boxScroll.addEventListener('scroll', event => {
  const sh = event.target.scrollHeight;
  const h = event.target.offsetHeight;
  const y = event.target.scrollTop;
  const len = boxImgs.length;
  const t = y / (sh - h);
  const index = Math.floor((len - 1) * t);
  boxImgs.forEach((img, i) => img.classList.toggle('__active', i === index));
});

Перечитай как правильно использовать БЭМ и не растягивай больше так кошек!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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