Перейти к содержимому

Как вынести стрелки swiper за пределы слайдера

  • автор:

Как вынести стрелки навигации в Swiper JS за пределы слайдера?

Как вынести стрелки навигации в Swiper JS за сам слайдер и установить в нужное мне место (обозначено стрелкой на картинке)? При попытке вынести их они просто исчезают, так как у родителя стоит overflow: hidden

60ebbf0ba75f1729007284.jpeg

  • Вопрос задан более двух лет назад
  • 457 просмотров

1 комментарий

Простой 1 комментарий

Swiper.js Как вынести стрелки за враппер?

tired optimist Ученик (182) Андрей Кудряшов, делал так document.getElementById(‘swiperPrev’) const swiperNext = document.getElementById(‘swiperNext’) swiperPrev.addEventListener(‘click’, () => < mySwiper.slidePrev(); >) swiperNext.addEventListener(‘click’, () => < mySwiper.slideNext(); >) и добавлял соответствующие id кнопкам

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

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

.swiper-container: Стоит в стилях overflow: hidden — чтобы item’ы за пределами не были видны.

При попытке настроить управляющие стрелочки(prev, next) по бокам за пределами контейнера[.swiper-container], они, соответственно, не видны.

Вопрос: Каким способом их вынести за пределы блока так, чтобы они были видны и выполняли свою функцию?

Slide 1
Slide 2
Slide 3

.

  • Вопрос задан более трёх лет назад
  • 6857 просмотров

Комментировать
Решения вопроса 1

Добавить кнопки в нужном месте за пределами .swiper-container и вручную повесить на них slideNext и slidePrev: https://swiperjs.com/api/#methods

Ответ написан более трёх лет назад
Нравится 4 2 комментария
spasatelev @spasatelev Автор вопроса

У меня даже сработало когда я просто вынес, а в свойстве оставил стрелки, без методов))
Реализовал через метод из документации — все работает четко!
Да пришлось все обернуть, зато полностью рабочий слайдер.
Спасибо за решение)

aleksandr-n @aleksandr-n

На мой взгляд лучшее решение при условии если у тебя не одна карусель а несколько.

 
Slide 1
Slide 2
Slide 3
Slide 1
Slide 2
Slide 3
//Swiper $('.swiper-object .js-sample-slider').each(function(index, value) < const swiperId = $(value).data('swiper-id'); // Получаем ID карусели из data-атрибута const swiperNav = $('.swiper-navigation[data-swiper-id="' + swiperId + '"]'); // Находим контейнер навигации по ID карусели const swiper = new Swiper(value, < slidesPerView: 6, spaceBetween: 16, lazy: true, //lazy load loop: true, //loop pagination: < //pagination(dots) el: '.swiper-pagination', clickable: true, >, navigation: < //navigation(arrows) nextEl: swiperNav.find('.swiper-button-next')[0], prevEl: swiperNav.find('.swiper-button-prev')[0], >, breakpoints: < 640: < slidesPerView: 2, spaceBetween: 20, >, 768: < slidesPerView: 4, spaceBetween: 40, >, 1024: < slidesPerView: 6, spaceBetween: 16, >, >, >); >); // Назначение событий на кнопки навигации $('.swiper-navigation .swiper-button-prev').on('click', function() < const swiperId = $(this).closest('.swiper-navigation').data('swiper-id'); const swiper = $('.js-sample-slider[data-swiper-id="' + swiperId + '"]')[0].swiper; swiper.slidePrev(); >); $('.swiper-navigation .swiper-button-next').on('click', function() < const swiperId = $(this).closest('.swiper-navigation').data('swiper-id'); const swiper = $('.js-sample-slider[data-swiper-id="' + swiperId + '"]')[0].swiper; swiper.slideNext(); >);

Курсы javascript

Коллеги, приветствую! Подскажите по проблеме, что-то я в тупике( У меня есть два слайдера на одной странице. Первый работает нормально, а вот на втором не работают миниатюры, они не двигаются вместе с основным слайдером. К тому же, на этом же втором слайдере не работает прокрутка и стрелки навигации.

  

07.02.2023, 10:33

Регистрация: 27.05.2010

Сообщений: 33,031

samdo,
укажите классы стрелок более подробно, в во всех nextEl и prevEl через родителя типа
nextEl: «.mySwiper4 .sec-slider-next», или как там у вас.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *