bugo_aneo
@bugo_aneo
Верстальщик по жизни, буддист, кофеман

Как сбросить автопрокрутку у Swiper при переключении таба?

Есть табы со слайдером внутри.
У слайдера есть навигация в виде текстовых пп.
Есть автоплей. Автоплей одинаковый для всех слайдеров.

Надо при переключении табов сбрасывать автоплей, т.е. показывать опять первый слайд.

Да, я знаю про методы самого Swiper. Но не могу адекватно это навести по феншую без убитых слайдеров/табов и прочей расчлененки.

Надо сделать так, чтобы при переключении на активный таб, у слайдера активным становился первый слайд. Т.е., сбрасывалась автопрокрутка.

  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
DanArst
@DanArst
Гриффиндор в моде при любой погоде!
Можно использовать метод slideTo, но он ломает autoplay, поэтому можно сделать следующее:
отключить autoplay - скролл до 1-го слайда - включить autoplay


navList[i].addEventListener("click", (evt) => {
    let currentLink = tabContainer.querySelector(
      ".slidersTab__tab-label.current"
    );
    let currentTab = tabContainer.querySelector(
      ".slidersTab__slidersItem.current"
    );
    //добавить 4 строчки -- start 
    let currentSlider = tabList[i].querySelector('.slidersTab__slider-body').swiper;
    currentSlider.autoplay.stop();
    currentSlider.slideTo(0, 0, false);
    currentSlider.autoplay.start();
    //-- end
    currentLink.classList.remove("current");
    navList[i].classList.add("current");

    currentTab.classList.remove("current");
    tabList[i].classList.add("current");    
});


Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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