Задать вопрос
@ssawyer

Как можно сделать подобный слайдер?

Пробую таким образом - совместить 2 слайдера swiper, но нормально не выходит.. последний слайд активным при инициализации не ставится (ставится только по событию click(), но в таком случае не добавляется класс активного слайда.
6735e44325c03249028557.png
document.addEventListener("DOMContentLoaded", () => {
    const lastSlideIndex = document.querySelectorAll(".historical__nav .swiper-slide").length - 1;

    const sliderYears = new Swiper(".historical__nav .swiper-container", {
        slidesPerView: 6,
        spaceBetween: 57,
        initialSlide: 6,
        navigation: {
            nextEl: ".historical__nav-button--next",
            prevEl: ".historical__nav-button--prev",
        },
    });
    const sliderContent = new Swiper(".historical__content", {
        slidesPerView: 1,
        allowTouchMove: false, 
        initialSlide: 6,
    });
    sliderYears.on("slideChange", function () {
        sliderContent.slideTo(sliderYears.activeIndex);
    });

    sliderContent.on("slideChange", function () {
        sliderYears.slideTo(sliderContent.activeIndex);
    });
    sliderYears.slides.forEach((slide, index) => {
        slide.addEventListener("click", () => {
            sliderYears.slideTo(index); 
            sliderContent.slideTo(index); 
        });
    });

    sliderContent.update();

    if (lastSlideIndex) {
      // работает, но класс активного слайда не добавляется
        lastSlideIndex.click();
    }
    sliderYears.update();
    sliderContent.update();

    // Перемещаемся к последнему слайду после полной инициализации
  // Не работает
    sliderYears.slideTo(lastSlideIndex);
    sliderContent.slideTo(lastSlideIndex);
});
  • Вопрос задан
  • 169 просмотров
Подписаться 2 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

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

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