К содержанию

Навигация

Swiper

Swiper — движок перелистывания Framework: он сдвигает ряд слайдов по кнопкам, клавишам и вызовам из скрипта. Движок не оформляет слайды и не выбирает поведение за проект. Для готовых переключателей, пагинации и автопрокрутки берите карусель.

Пример

Разметка

Минимальную разметку показывает пример выше. Части вложены так: корень swiper → лента swiper-wrapper → слайды swiper-slide.

  • swiper обрезает ленту по своей ширине; swiper-wrapper выстраивает слайды в строку и сдвигается при перелистывании; каждый swiper-slide по умолчанию занимает всю ширину корня.
  • Кнопки перелистывания — обычные кнопки Framework в любом месте страницы; движку их передают в параметрах. На первом и последнем слайде кнопка получает класс swiper-button-disabled и приглушается.
  • Промежуток между слайдами задают отступы внутри слайда (p-x-1), а не поле между ними.
  • Разметка сама не перелистывается: каждый корень создают явно через new Swiper(root, options).

Варианты

Число видимых слайдов

Параметр slidesPerView задаёт, сколько слайдов видно сразу, а breakpoints меняет его по ширине окна: ключи — минимальная ширина окна в пикселях. Движок читает breakpoints при создании и при вызове update(), поэтому при изменении ширины окна вызывайте update() сами.

Доступность

  • Корню дайте role="region" и доступное имя через aria-label, а tabindex="0" — если включено управление клавишами.
  • Движок помечает слайды role="group" и именем «1 / 3», а скрытые слайды — aria-hidden="true". Ссылки и кнопки в скрытых слайдах остаются в порядке фокуса: если они есть, берите карусель — она делает скрытые слайды inert.
  • Кнопкам перелистывания нужны доступные имена: «Предыдущий слайд», «Следующий слайд».
  • При параметре keyboard: true стрелки влево и вправо перелистывают слайды, пока фокус внутри корня, с учётом направления письма.
  • Жестов смахивания движок не обрабатывает: на сенсорном экране нужны видимые кнопки.
  • При системной настройке уменьшения движения CSS убирает анимацию ленты; передайте и speed: 0.

JavaScript

window.Swiper — конструктор движка. Он появляется, когда скрипт компонента выполнен; карусель Framework ждёт его сама.

Параметры:

Параметр Что задаёт
slidesPerView число видимых слайдов, по умолчанию 1
breakpoints параметры по минимальной ширине окна
initialSlide номер первого показанного слайда, с нуля
speed длительность сдвига в миллисекундах, по умолчанию 300
loop после последнего слайда перейти к первому
keyboard true — перелистывание стрелками
navigation prevEl, nextEl (элемент или селектор), disabledClass
pagination el, clickable, bulletElement, bulletClass, bulletActiveClass — точки по числу слайдов; своего оформления у точек нет, его задают классы
autoplay {delay} — перелистывать сам каждые delay миллисекунд

Методы экземпляра: slideNext(), slidePrev(), slideTo(index), update() — после добавления или удаления слайдов и при смене ширины окна, enable() и disable(), autoplay.start() и autoplay.stop(), destroy() — снимает обработчики и стили. Свойства activeIndex и slides дают текущий слайд и список слайдов. События подключает on(name, listener): init, slideChange, transitionEnd, autoplayStart, autoplayStop, destroy; обработчик получает экземпляр.

После изменения набора слайдов вызывайте update() у уже созданного экземпляра — второй экземпляр поверх первого не создавайте.

Создание движка с кнопками и числом слайдов по ширине окна:

JavaScript
const swiper = new Swiper(document.querySelector('#gallery'), {
  keyboard: true,
  slidesPerView: 1,
  breakpoints: {640: {slidesPerView: 2}},
  navigation: {prevEl: '#gallery-prev', nextEl: '#gallery-next'},
});
swiper.on('slideChange', (instance) => console.log(instance.activeIndex));

Классы

Что Классы
Блок swiper
Части swiper-button-disabled, swiper-slide, swiper-wrapper

Классы и переменные собраны из CSS выпуска и обновляются вместе с ним.

См. также

Поиск по документации

Введите минимум 2 символа

    Настройки

    Тема
    Размер шрифта
    Ширина страницы