@aex-svs

Как заставить работать несколько слайдеров swiper в мобильно версии?

Добрый день!
Есть определенная сложность в реализации 3 слайдеров в табах. Контент подгружается динамически в ПК версии все работает , но если переключиться в мобильный вариант(эмуляция браузера, либо зайти с телефона, то первый слайдер работает а в остальных слайды не листаются, с чем это может быть связано?) Скриншот приложил( использовал webpack в сборке проекта). на локалке все работает. (в начале использовал 7 версию свайпер, потом обновил до 8.4.7 ошибка не исчезла)
скриншон ошибки в консоле
64416acfcdb0b041474132.jpeg
Разметка такая
<div class="tabs-portfolio__content tab_content active" tab-content="1">
    <!-- Slider main wrapper -->
    <div class="swiper-container-wrapper">
      <!-- Slider main container -->
      <div class="swiper-container gallery-top">
        <!-- Additional required wrapper -->
        <div class="swiper-wrapper" >
          <!-- Slides -->          
          <div class="swiper-slide swiper-slide" >
            <a href="№" class="tabs-portfolio__primary-link">
              <img src="№" alt="" class="tabs-portfolio__primary-img">              
            </a>
          </div>
          
         <div class="swiper-slide swiper-slide" >
            <a href="№" class="tabs-portfolio__primary-link">
              <img src="№" alt="" class="tabs-portfolio__primary-img">              
            </a>
          </div>
          <div class="swiper-slide swiper-slide" >
            <a href="№" class="tabs-portfolio__primary-link">
              <img src="№" alt="" class="tabs-portfolio__primary-img">              
            </a>
          </div>
        <!-- Add Arrows -->
        <div class="swiper-button-next"></div>
        <div class="swiper-button-prev"></div>
      </div>
      <!-- Slider thumbnail container -->
      <div class="swiper-container gallery-thumbs ">
        <!-- Additional required wrapper -->
        <div class="swiper-wrapper">
          <!-- Slides -->
          <div class="swiper-slide">
            <img src="#" alt="" class="tabs-portfolio__thumb-img">
          </div>
           <div class="swiper-slide ">
            <img src="#" alt="" class="tabs-portfolio__thumb-img">
          </div>
           <div class="swiper-slide">
            <img src="#" alt="" class="tabs-portfolio__thumb-img">
          </div>

        </div>
      </div>
    </div>

  </div>

<div class="tabs-portfolio__content tab_content " tab-content="2">....</div>
<div class="tabs-portfolio__content tab_content " tab-content="3">....</div>

const swiperGal = document.querySelectorAll('.tab_content');
swiperGal.forEach(n => {
  const galleryThumbs = new Swiper(n.querySelector('.gallery-thumbs'), {
    centeredSlides: true,
    centeredSlidesBounds: true,
    direction: "vertical",
    spaceBetween: 10,
    slidesPerView: 4,
    freeMode: false,
    observer: true,
    observerParents: true,
    watchSlidesVisibility: true,
    watchSlidesProgress: true,
    watchOverflow: true,
    breakpoints: {
      320: {
        spaceBetween: 10,
        direction: "horizontal",
        slidesPerView: 'auto'
      },
      800: {
        direction: "vertical",
        slidesPerView: 4
      }
    }
  });

  const galleryTop = new Swiper(n.querySelector('.gallery-top'), {
    direction: "horizontal",
    spaceBetween: 10,
    navigation: {
      nextEl: n.querySelector('.swiper-button-next'),
      prevEl: n.querySelector('.swiper-button-prev'),
    },

    thumbs: {
      swiper: galleryThumbs
    }
  });
});
  • Вопрос задан
  • 281 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

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