TGViewer
Programmer Way | AI Programmer Way | AI @programmerwayit · 1.78K subscribers
Post #360 2.08K
​​Один класс, но несколько слайдеров.
Заметил, что новички, да и не только, часто путаются, когда дело доходит до создания одинаковых слайдеров на станице, сегодня я покажу своё решение проблемы

Когда мы обращаемся к одному классу, то по-умолчанию swiper берет первый блок на странице, остальные слайдеры, с таким же классом начинают «ломаться», решением данной проблемы будет перебор через forEach:

let sliderCatalog = document.querySelectorAll(".catalog__block");

 sliderCatalog.forEach(element => {
      new Swiper(element.querySelector('.catalog__items'), {
      slidesPerView: 1,
      pagination: {
        el: element.querySelector('.catalog__info'),
        type: 'fraction'
      },
      });
   });

Иногда одинаковые слайдереры находятся ещё и в табах( в основном на каких-то каталогах товаров), поэтому вы можете столкнуться с проблемой, что все сделано правильно, но остальные слайдеры не работают, это связано со свойством display: none; так как значение none полностью удаляет объект со страницы, а так как стили подключаются первыми, js не успевает инициализировать слайдеры, лечиться это все следующим образом: 
Обертке задаём position: relative; а самим блокам 
&__block{
    opacity: 0;
    visibility: hidden;
    position: absolute;
    width: 100%;
    transition: all .3s ease-in-out;
    &._active{
      opacity: 1;
      visibility: visible;
      position: static;
    }
  }
При _active все возвращаем на место и добавляем плавности. Готовый результат, а так же код прикреплю к посту
More from @programmerwayit
  1. Aug 15, 2026Всем привет! 👋 После достаточно долгого перерыва пришла идея возродить этот канал, с моме…
  2. Aug 31, 2022​​ScrollReveal. Библиотека для создания анимации при скролле. Если нужно быстро добавить п…
  3. Aug 24, 2022​​Переезд в Бельгию. Всем привет, мир меняется, и если вчера можно было говорить, что така…
  4. Jul 26, 2022​​Sinauw. Всем привет! Давно не выходили посты, постараюсь исправиться, думаю нас ждет еще…
  5. Jun 24, 2022​​LocalStorage и sessionStorage. Хранилища текстовой информации в браузере. LocalStorage м…
  6. Jun 19, 2022​​Chart.js. Chart.js — это большая библиотека для создания графиков, гистограмм, радарных…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →