Параметры Swiper — настройка слайдера для сайта JS / jQuery. Описание свойств и функций Swiper (свипер)
Swiper Полный HTML-макет слайдера на сайт
<!-- Slider main container -->
<div class="swiper-container">
<!-- Additional required wrapper -->
<div class="swiper-wrapper">
<!-- Slides -->
<div class="swiper-slide">Slide 1</div>
<div class="swiper-slide">Slide 2</div>
<div class="swiper-slide">Slide 3</div>
...
</div>
<!-- If we need pagination -->
<div class="swiper-pagination"></div>
<!-- If we need navigation buttons -->
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
<!-- If we need scrollbar -->
<div class="swiper-scrollbar"></div>
</div>
Инициализировать Swiper
Теперь, когда у нас есть HTML-код Swiper, нам нужно инициализировать его, используя следующую функцию:
новый Swiper ( swiperContainer , параметры ) — инициализировать swiper с опциями
- swiperContainer — HTMLElement или строка (с помощью CSS Selector) элемента HTML контейнера swiper. Необходимые.
- Параметры — объект — объект с параметрами Swiper. Необязательный.
- Метод возвращает инициализированный экземпляр Swiper
Например:
var mySwiper = new Swiper('.swiper-container', {
speed: 400,
spaceBetween: 100
});
После инициализации Swiper можно получить доступ к экземпляру Swiper на свой HTMLElement. Это swiper
свойство элемента контейнера HTML Swiper:
var mySwiper = document.querySelector('.swiper-container').swiper
// Now you can use all slider methods like
mySwiper.slideNext();
Параметры Swiper
Давайте посмотрим на список всех доступных параметров:
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
в этом | логический | true | Независимо от того, должен ли Swiper автоматически инициализироваться при создании экземпляра. Если отключено, вам необходимо запустить его вручную, вызвавmySwiper.init() |
initialSlide | число | 0 | Номер индекса начального слайда. |
направление | строка | «Горизонтальные» | Может быть «горизонтальным» или «вертикальным» (для вертикального слайдера). |
скорость | число | 300 | Продолжительность перехода между слайдами (в мс) |
setWrapperSize | логический | false | Включил эту опцию, и плагин установит ширину / высоту на обложке swiper, равную общему размеру всех слайдов. В основном следует использовать в качестве варианта совместимости для браузера, который не поддерживает флексинг-план хорошо |
virtualTranslate | логический | false | Включен этот параметр, и swiper будет работать как обычно, за исключением того, что он не будет перемещаться, реальные значения перевода на обертке не будут установлены. Полезно, когда вам может понадобиться создать пользовательский переход слайдов |
ширина | число |
Ширина swiper (в px). Параметр позволяет принудительно изменять ширину Swiper.Полезно, только если вы инициализируете Swiper, когда он скрыт.
Установка этого параметра заставит Swiper не реагировать
|
|
рост | число |
Высота Swiper (в пикселях). Параметр позволяет принудительно увеличить высоту Swiper. Полезно, только если вы инициализируете Swiper, когда он скрыт.
Установка этого параметра заставит Swiper не реагировать
|
|
авто высота | логический | false | Установите значение true и слайдер-обертка примет его высоту до высоты текущего активного слайда |
roundLengths | логический | false | Установите значение true для округлых значений ширины и высоты слайдов для предотвращения размытых текстов на обычных экранах разрешения (если они есть) |
вложенными | логический | false | Установите значение true на вложенном Swiper для правильного перехвата событий касания. Используйте только на вложенных swipers, которые используют то же направление, что и родительский |
uniqueNavElements | логический | true | Если включено (по умолчанию) и параметры навигационных элементов переданы как строка (например ".pagination" ), то Swiper будет искать такие элементы с помощью дочерних элементов. Применяется для разбивки на страницы, предыдущие / следующие кнопки и элементы прокрутки |
эффект | строка | ‘горка’ | Эффект Tranisition. Могут быть «слайд», «выцветание», «куб», «покрытие» или «флип», |
runCallbacksOnInit | логический | true | Fire [Transition / SlideChange] [Начало / конец] событий при инициализации swiper. Такие события будут запущены при инициализации, если ваш initialSlide не равен 0, или вы используете режим цикла |
watchOverflow | логический | false | Когда включено, Swiper отключится и скроет навигационные кнопки, если на слайдах недостаточно слайдов |
на | объект | Регистрация обработчиков событий | |
Слайдовая сетка | |||
spaceBetween | число | 0 | Расстояние между слайдами в px. |
slidesPerView | число или «auto» | 1 |
Количество слайдов на просмотр (слайды, видимые одновременно на контейнере ползунка).
Если вы используете его со значением «auto» и вместе с loop: true, вам нужно указать параметр loopedSlides с количеством слайдов до цикла (дублировать) slidesPerView: ‘auto’ в настоящее время несовместим с многострочным режимом, когда слайдыPerColumn > 1 |
slidesPerColumn | число | 1 |
Количество слайдов в столбце, для многострочного макета
slidesPerColumn> 1 в настоящее время не совместим с режимом цикла ( loop: true ) |
slidesPerColumnFill | строка | «Столбец» | Может быть «столбец» или «строка». Определяет, как слайды должны заполнять строки, по столбцам или по строке |
slidesPerGroup | число | 1 | Задайте количество слайдов для определения и включения группового скольжения.Полезно использовать с slidesPerView> 1 |
centeredSlides | логический | false | Если true, то активный слайд будет центрироваться, а не всегда на левой стороне. |
slidesOffsetBefore | число | 0 | Добавить (в пикселях) дополнительное смещение слайда в начале контейнера (перед всеми слайдами) |
slidesOffsetAfter | число | 0 | Добавить (в пикселях) дополнительное смещение слайда в конце контейнера (после всех слайдов) |
normalizeSlideIndex | логический | true | Нормализовать индекс слайдов. См. # 1766 |
centerInsufficientSlides | логический | false | Когда это разрешено, центр слайдов, если количество слайдов меньше, чем `slidesPerView`. Не предназначен для использования в loop режиме иslidesPerColumn |
Захватить курсор | |||
grabCursor | логический | false | Этот вариант может немного улучшить удобство работы на рабочем столе. Если true , пользователь увидит курсор «захватить» при наведении на Swiper |
Прикосновения | |||
touchEventsTarget | строка | ‘container’ | Целевой элемент для прослушивания событий касания. Может быть «контейнером»(для прослушивания событий касания на swiper-контейнере) или «оберткой» (для прослушивания событий касания на swiper-wrapper) |
touchRatio | число | 1 | Отношение касания |
touchAngle | число | 45 | Допустимый угол (в градусах) для запуска сенсорного перемещения |
simulateTouch | логический | true | Если true, Swiper примет события мыши, такие как события касания (нажмите и перетащите, чтобы изменить слайды) |
shortSwipes | логический | true | Установите значение false, если вы хотите отключить короткие звуки |
longSwipes | логический | true | Установите значение false, если вы хотите отключить длинные прокрутки |
longSwipesRatio | число | 0.5 | Соотношение для перехода к следующему / предыдущему слайду во время длинных прокруток |
longSwipesMs | число | 300 | Минимальная длительность (в мс) для запуска прокрутки на следующий / предыдущий слайд во время длинных прокруток |
followFinger | логический | true | Если отключено, то слайдер будет анимироваться только тогда, когда вы его отпустите, он не будет двигаться, пока вы держите палец на нем |
allowTouchMove | логический | true | Если false, то единственным способом переключения слайда является использование внешних API-функций, таких как slidePrev илиslideNext |
порог | число | 0 | Пороговое значение в px. Если «расстояние касания» будет ниже этого значения, тогда swiper не будет двигаться |
touchstart preventDefault | логический | true | Если отключено, событие `touchstart` (` mousedown`) не будет предотвращено |
touchMoveStopPropagation | логический | true | Если включено, то распространение «touchmove» будет остановлено |
iOSEdgeSwipeDetection | логический | false | Разрешить выпуск событий Swiper для работы с прокруткой в обратную сторону в iOS UIWebView |
iOSEdgeSwipeThreshold | число | 20 | Площадь (в пикселях) от левого края экрана, чтобы освободить события касания для перехода в обратную сторону в iOS UIWebView |
touchReleaseOnEdges | логический | false | Включить, чтобы выпустить события касания на крайнее положение ползунка (начало, конец), чтобы можно было продолжить прокрутку страницы |
passiveListeners | логический | true | Пассивные прослушиватели событий будут использоваться по умолчанию, где это возможно, для повышения производительности прокрутки на мобильных устройствах.Но если вам нужно использовать `e.preventDefault`, и у вас есть конфликт с ним, вы должны отключить этот параметр |
Сопротивление касания | |||
сопротивление | логический | true | Установите значение false, если вы хотите отключить устойчивые границы |
resistanceRatio | число | 0.85 | Эта опция позволяет вам контролировать коэффициент сопротивления |
Swiping / No swiping | |||
preventInteractionOnTransition | логический | false | При включении он не позволяет изменять слайды с помощью кнопок прокрутки или навигации / разбиения на страницы во время перехода |
allowSlidePrev | логический | true | Установите значение false, чтобы отключить прокрутку до предыдущего направления слайда (слева или сверху) |
allowSlideNext | логический | true | Установите значение false, чтобы отключить прокрутку до следующего направления слайда (справа или снизу) |
noSwiping | логический | true | Включить / отключить прокрутку элементов, соответствующих классу, указанному в noSwipingClass |
noSwipingClass | строка | ‘Не Swiper-не-пролистывание’ | Указать noSwiping класс ‘s’ css |
noSwipingSelector | строка | Может использоваться вместо noSwipingClass указания элементов для отключения проверки. Например 'input' , отключить прокрутку на всех входах |
|
swipeHandler | string / HTMLElement | 0 | Строка с CSS-селектором или HTML-элементом контейнера с разбивкой на страницы, которая будет работать только как доступный обработчик для прокрутки |
щелчки | |||
preventClicks | логический | true | Установите значение true, чтобы предотвратить случайные нежелательные клики по ссылкам во время прокрутки |
preventClicksPropagation | логический | true | Установите значение true, чтобы остановить распространение событий нажатием на ссылки во время прокрутки |
slideToClickedSlide | логический | false | Установите значение true и нажмите на любой слайд, чтобы перейти к этому слайду |
Freemode | |||
freeMode | логический | false | Если true, то слайды не будут иметь фиксированные позиции |
freeModeMomentum | логический | true | Если true , то слайд продолжит движение некоторое время после его выпуска |
freeModeMomentumRatio | число | 1 | Чем выше значение, тем больше расстояние от импульса после отпускания слайдера |
freeModeMomentumVelocityRatio | число | 1 | Более высокое значение дает большую скорость импульса после отпускания слайдера |
freeModeMomentumBounce | логический | true | Установите значение false, если вы хотите отключить отбой в свободном режиме |
freeModeMomentumBounceRatio | число | 1 | Более высокое значение вызывает более сильный импульсный эффект |
freeModeMinimumVelocity | число | 0.02 | Минимальная скорость касания, необходимая для запуска импульса свободного режима |
freeModeSticky | логический | false | Установите значение true, чтобы включить привязку к слайдам в свободном режиме |
Прогресс | |||
watchSlidesProgress | логический | false | Включите эту функцию, чтобы рассчитать каждый прогресс слайдов |
watchSlidesVisibility | логический | false | watchSlidesProgress должен быть включен. Включить эту опцию и слайды, которые находятся в видовом экране, будут иметь дополнительный видимый класс |
Изображений | |||
preloadImages | логический | true | Когда включено, Swiper заставит загружать все изображения |
updateOnImagesReady | логический | true | Когда включено, Swiper будет повторно инициализирован после загрузки всех внутренних изображений (тегов <img>). необходимыеpreloadImages: true |
петля | |||
петля | логический | false |
Установите значение true, чтобы включить режим непрерывного контура
Если вы используете его вместе с этим, Кроме того, из-за того, как работает режим цикла, он будет добавлять дублированные слайды. Такие дублированные классы будут иметь дополнительные классы:
|
loopAdditionalSlides | число | 0 | Количество добавленных слайдов, которые будут клонированы после создания цикла |
loopedSlides | число | 0 | Если вы используете slidesPerView:'auto' режим loop, вы должны сказать Swiper, сколько слайдов он должен зацикливать (дублировать), используя этот параметр |
ходьба группы с заполнением пробелов | логический | false | Режим Enable и loop заполняет группы с недостаточным количеством слайдов с пустым слайдом. Хорошо использовать с slidesPerGroup параметром |
Контрольные точки | |||
контрольные точки | объект |
Позволяет установить другой параметр для разных чувствительных точек останова (размеры экрана). Не все параметры могут быть изменены в контрольных точках, только те , которые не требуется различное расположение и логика, как slidesPerView , slidesPerGroup , spaceBetween . Такие параметры , как slidesPerColumn , loop , direction , effect не будут работать. Например:
|
|
breakpointsInverse | логический | false |
Если он включен, он будет считать точки останова в обратном направлении, например, будет переопределять параметры, если ширина окна больше заданной точки останова:
|
наблюдатель | |||
наблюдатель | логический | false | Установите значение true, чтобы включить Mutation Observer на Swiper и его элементы.В этом случае Swiper будет обновляться (повторно инициализироваться) каждый раз, если вы измените его стиль (например, hide / show) или измените его дочерние элементы (например, добавление / удаление слайдов) |
observeParents | логический | false | Установите значение true, если вам также нужно посмотреть мутации для родительских элементов Swiper |
Пространство имен | |||
containerModifierClass | строка | ‘Swiper-container-‘ | Начало модификатора CSS-класса, который может быть добавлен в swiper-контейнер в зависимости от разных параметров |
slideClass | строка | ‘Swiper-слайд’ | Имя класса слайда CSS |
slideActiveClass | строка | ‘Swiper-slide-активный’ | Имя класса CSS текущего активного слайда |
slideDuplicateActiveClass | строка | ‘Swiper-slide-дубликат-активный’ | Имя класса CSS дублированного слайда, который представляет текущий активный слайд |
slideVisibleClass | строка | ‘Swiper-slide-видимый’ | Имя класса CSS текущего видимого слайда |
slideDuplicateClass | строка | ‘Swiper-slide-дубликат’ | Имя класса CSS для слайда, дублированного режимом цикла |
slideNextClass | строка | ‘Swiper-slide-некст’ | Имя класса CSS для слайда, которое находится прямо после текущего слайда |
slideDuplicateNextClass | строка | ‘Swiper-slide-дубликат-некст’ | Имя класса CSS дублированного слайда, представляющего слайд рядом с активным слайдом |
slidePrevClass | строка | ‘Swiper-slide-пред’ | Имя класса CSS для слайда, которое находится прямо перед активным слайдом |
slideDuplicatePrevClass | строка | ‘Swiper-slide-дубликат-пред’ | Имя класса CSS дублированного слайда, представляющего слайд, предшествующий активному слайду |
wrapperClass | строка | ‘Swiper-обертка’ | Имя класса CSS для слайдов |
Методы ползунка и свойства
После инициализации Slider у нас есть свой инициализированный экземпляр в переменной (аналогично mySwiper
переменной в примере выше) с полезными методами и свойствами:
свойства | |
---|---|
mySwiper.params | Объект с переданными параметрами инициализации |
mySwiper. $ | Элемент Dom7 с элементом HTML-контейнера слайдера. Чтобы использовать HTML-элемент ванилиmySwiper.el |
mySwiper. $ wrapperEl | Элемент Dom7 с элементом HTML-слайдера. Чтобы использовать HTML-элемент ванилиmySwiper.wrapperEl |
mySwiper.slides | Массив-подобный набор слайдов HTML-элементов. Чтобы использовать конкретный слайд HTMLElementmySwiper.slides[1] |
mySwiper.width | Ширина контейнера |
mySwiper.height | Высота контейнера |
mySwiper.translate | Текущее значение wrapper translate |
mySwiper.progress | Текущий ход перевода оболочки (от 0 до 1) |
mySwiper.activeIndex |
Номер индекса текущего активного слайда
Обратите внимание, что в режиме цикла активное значение индекса всегда будет сдвигаться на несколько зацикленных / дублированных слайдов |
mySwiper.realIndex | Номер индекса текущего активного слайда с учетом дублированных слайдов в режиме цикла |
mySwiper.previousIndex | Номер индекса ранее активного слайда |
mySwiper.isBeginning | true, если слайдер находится в большинстве положений «влево» / «сверху» |
mySwiper.isEnd | true, если слайдер находится на самом «правом» / «нижнем» положении |
mySwiper.animating | true, если swiper находится в процессе перехода |
mySwiper.touches |
Объект со следующими свойствами события касания:
|
mySwiper.clickedIndex | Номер индекса последнего щелкнутого слайда |
mySwiper.clickedSlide | Ссылка на последний щелчок слайда ( HTMLElement ) |
mySwiper.allowSlideNext | Отключить / включить возможность перехода на следующие слайды путем назначения false / true этому свойству |
mySwiper.allowSlidePrev | Отключить / включить возможность перехода на предыдущие слайды путем назначения false / true этому свойству |
mySwiper.allowTouchMove | Отключить / включить способность перемещать слайдер, захватив его мышью или прикоснуться к нему пальцем (на сенсорных экранах), назначив false / true этому свойству |
методы | |
mySwiper.slideNext ( скорость , runCallbacks ); |
Запустить переход к следующему слайду
|
mySwiper.slidePrev ( скорость , runCallbacks ); |
Запустить переход к предыдущему слайду
|
mySwiper.slideTo ( индекс , скорость , runCallbacks ); |
Запустите переход на слайд с номером индекса, равным параметру ‘index’, на длительность, равную параметру «скорость».
|
mySwiper.slideToLoop ( индекс , скорость , runCallbacks ); |
То же самое, что и .slideTo, но для случая, когда используется с включенным loop .Таким образом, этот метод будет скользить до слайдов с realIndex совпадениемindex
|
mySwiper.slideReset ( скорость , runCallbacks ); |
Сбросьте положение swiper на текущий активный слайд на время, равное параметру «скорость».
|
mySwiper.slideToClosest ( скорость , runCallbacks ); |
Сбросьте положение переключателя до ближайшей точки слайда / привязки на длительность, равную параметру «скорость».
|
mySwiper.updateAutoHeight ( скорость ); |
Force swiper обновить его высоту (при включенном autoHeight) на длительность eqaul до параметра «скорость»
|
mySwiper.update (); |
Вы должны вызвать его после того, как вы добавите / удалите слайды вручную или после того, как вы скроете / покажите его или внесите какие-либо пользовательские изменения DOM с помощью Swiper
Этот метод также включает подкачку следующих методов, которые вы можете использовать отдельно:
|
mySwiper.detachEvents (); | Отключить прослушиватели всех событий |
mySwiper.attachEvents (); | Atach все события слушатели снова |
mySwiper.destroy ( deleteInstance , cleanStyles ); |
Уничтожьте экземпляр слайдера и отключите прослушиватели всех событий, где
|
mySwiper.appendSlide ( слайды ); |
Добавьте новые слайды в конец. slides может быть HTMLElement или HTML-строка с новым слайдом или массивом с такими слайдами, например:
|
mySwiper.prependSlide ( слайды ); |
Добавьте новые слайды в начало. slides может быть HTMLElement или HTML-строка с новым слайдом или массивом с такими слайдами, например:
|
mySwiper.addSlide ( индекс , слайды ); |
Добавьте новые слайды в требуемый индекс. slides может быть HTMLElement или HTML-строка с новым слайдом или массивом с такими слайдами, например:
|
mySwiper.removeSlide ( slideIndex ); |
Удалите выбранные слайды. slideIndex может быть числом с индексом слайда для удаления или массива с индексами, например:
|
mySwiper.removeAllSlides (); | Удалить все слайды |
mySwiper.setTranslate ( перевод ); | Задайте значение трансформированного значения css3 transform для swiper-оболочки |
mySwiper.getTranslate (); | Получить текущее значение swiper wrapper css3 transform translate |
mySwiper.on ( событие , обработчик ) | Добавить прослушиватель событий |
mySwiper.once ( событие , обработчик ) | Добавить прослушиватель событий, который будет выполняться только один раз |
mySwiper.off ( событие , обработчик ) | Удалить прослушиватель событий для указанного события |
mySwiper.off ( событие ) | Удалить всех слушателей для указанного события |
mySwiper.unsetGrabCursor (); | Отменить захват курсора |
mySwiper.setGrabCursor (); | Установить захват курсора |
События
Swiper поставляется с кучей полезных событий, которые вы можете слушать. События могут быть назначены двумя способами:
- Использование
on
параметра для инициализации swiper:var mySwiper = new Swiper('.swiper-container', { // ... on: { init: function () { console.log('swiper initialized'); }, }, };
- Использование
on
метода после инициализации swiper.var mySwiper = new Swiper('.swiper-container', { // ... }; mySwiper.on('slideChange', function () { console.log('slide changed'); });
Обратите внимание, что this
ключевое слово в обработчике событий всегда указывает на экземпляр Swiper
Название события | аргументы | Описание |
---|---|---|
в этом |
Событие будет запущено сразу после инициализации Swiper. Обратите внимание, что с swiper.on('init') синтаксисом он будет работать только в том случае, если вы установите init: false параметр:
В противном случае используйте его как параметр:
|
|
beforeDestroy | Событие будет выпущено прямо перед тем, как Swiper уничтожит | |
slideChange | Событие будет запущено при изменении текущего слайда | |
slideChangeTransitionStart | Событие будет запущено в начале анимации на другой слайд (следующий или предыдущий). | |
slideChangeTransitionEnd | Событие будет запущено после анимации на другой слайд (следующий или предыдущий). | |
slideNextTransitionStart | То же, что и «slideChangeTransitionStart», но только для «прямого» направления | |
slideNextTransitionEnd | То же, что и «slideChangeTransitionEnd», но только для «прямого» направления | |
slidePrevTransitionStart | То же, что и «slideChangeTransitionStart», но только для «обратного» направления | |
slidePrevTransitionEnd | То же, что и «slideChangeTransitionEnd», но только для «обратного» направления | |
transitionStart | Событие будет запущено в начале перехода. | |
transitionEnd | Событие будет запущено после перехода. | |
touchStart | событие | Событие будет запущено, когда пользователь коснется Swiper. Получает событие «touchstart» в качестве аргумента. |
TouchMove (событие) | событие | Событие будет запущено, когда пользователь коснется и переместит палец над Swiper. Получает событие «touchmove» в качестве аргумента. |
touchMoveOpposite | событие | Событие будет запущено, когда пользователь коснется и переместит палец по Swiper в направлении, противоположном direction параметру. Получает событие «touchmove» в качестве аргумента. |
sliderMove | событие | Событие будет запущено, когда пользователь коснется и переместит палец по Swiper и переместит его. Получает событие «touchmove» в качестве аргумента. |
touchEnd | событие | Событие будет запущено, когда пользователь выпустит Swiper. Получает событие «коснуться» в качестве аргумента. |
щелчок | событие | Событие будет запущено, когда пользователь нажимает / нажимает на Swiper после 300 мс задержки. Получает событие «коснуться» в качестве аргумента. |
нажмите | событие | Событие будет запущено, когда пользователь нажимает / нажимает на Swiper. Получает событие «коснуться» в качестве аргумента. |
двойное нажатие | событие | Событие будет запущено, когда пользователь дважды коснется контейнера Swiper. Получает событие «коснуться» в качестве аргумента |
imagesReady | Событие будет запущено сразу после загрузки всех внутренних изображений. updateOnImagesReady также должно быть включено |
|
прогресс | прогресс | Событие будет запущено, когда прогресс Swiper будет изменен, в качестве аргументов он получит прогресс,который всегда от 0 до 1 |
reachBeginning | Событие будет запущено, когда Swiper достигнет своего начала (исходное положение) | |
reachEnd | Событие будет запущено, когда Swiper достигнет последнего слайда | |
fromEdge | Событие будет запущено, когда Swiper перейдет из положения beginning или end позиции |
|
набор опаздывает | переведите | Событие будет запущено, когда обертка swiper изменит свою позицию. Получает текущее значение перевода как аргумент |
набор Тиона | переход | Событие будет запускаться каждый раз, когда swiper начинает анимацию. Получает текущую продолжительность перехода (в мс) в качестве аргументов |
изменить размер | Событие будет запущено при изменении размера окна прямо перед обработкой onresize swiper |
Компоненты
навигация
Параметры навигации
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
навигация | объект |
Объект с параметрами навигации. Например:
|
|
{ | |||
Nextel | string / HTMLElement | 0 | Строка с CSS-селектором или HTML-элементом элемента, который будет работать как «следующая» кнопка после нажатия на нее |
Prevel | string / HTMLElement | 0 | Строка с селектором CSS или элементом HTML элемента, который будет работать как кнопка «prev» после нажатия на нее |
hideOnClick | логический | false | Переключить видимость навигационных кнопок после щелчка по контейнеру Slider |
disabledClass | строка | ‘Swiper кнопки-инвалидов’ | Имя класса CSS добавлено в навигационную кнопку, когда она отключается |
hiddenClass | строка | «Swiper кнопка скрытая» | Имя класса CSS добавлено в навигационную кнопку, когда она становится скрытой. |
} |
Методы и свойства навигации
свойства | |
---|---|
mySwiper.navigation.nextEl | HTMLElement «следующей» кнопки навигации |
mySwiper.navigation.prevEl | HTML-элемент «предыдущей» кнопки навигации |
методы | |
mySwiper.navigation.update (); | Обновление состояния кнопок навигации (включено / отключено) |
пагинация
Параметры разбивки на страницы
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
пагинация | объект |
Объект с параметрами навигации. Например:
|
|
{ | |||
эль | строка | 0 | Строка с CSS-селектором или HTML-элементом контейнера с разбивкой на страницы |
тип | строка | «пуля» | Строка с типом разбивки на страницы. Могут быть «пули», «фракция», «прогресс» или «обычай», |
bulletElement | строка | «Пролет» | Определяет, какой HTML-тег будет использоваться для представления одиночной пуговицы. Только для тиснения патронов . |
dynamicBullets | логический | false | Хорошо, если вы используете палитрами с большим количеством слайдов. Таким образом, одновременно будет отображаться только несколько пуль. |
dynamicMainBullets | число | 1 | Количество основных пуль, видимых при включении динамических буферов . |
hideOnClick | логический | true | Переключить (скрыть / истинный) видимость контейнера для страниц после щелчка по контейнеру Slider |
кликабельны | логический | false | Если true, то нажатие на кнопку pagination приведет к переходу на соответствующий слайд. Только для тиснения патронов |
progressbarOpposite | логический | false | Делает контрольный шаг разбиения на страницы, противопоfalse параметру «направление» Swiper, означает вертикальную панель прогресса для горизонтального направления поворотника и горизонтальную панель прогресса для вертикального поворота swiper |
formatFractionCurrent | Функция (номер) | number => number | Пользовательский формат. Функция получает текущий номер, и вам нужно вернуть форматированное значение |
formatFractionTotal | Функция (номер) | number => number | Общее число разбивочных разбиений на страницы. Функция получает общее количество, и вам нужно вернуть отформатированное значение |
renderBullet | function (index, className) | 0 |
Этот параметр позволяет полностью настраивать пагинальные маркеры , вам нужно передать здесь функцию, которая принимает номер индекса пулинга и требуемое имя класса элемента ( className ). Только для пуль тисненияНапример, с помощью этого кода мы можем добавить число слайдов в пулирование:
|
renderFraction | function (currentClass, totalClass) | 0 |
Этот параметр позволяет настроить «фракцию» pagination html. Только для типа разбивки на фракцииНапример:
|
renderProgressbar | Функция (progressbarFillClass) | 0 |
Этот параметр позволяет настроить разбивку страницы «прогресс». Только дляпрогресса типа постраничногоНапример:
|
renderCustom | функция (swiper, current, total) | 0 |
Этот параметр требуется для настраиваемого типа разбивки на страницы, где вы должны указать, как он должен отображатьсяНапример:
|
bulletClass | строка | ‘Swiper-пагинация-пуля’ | Имя класса CSS для одиночной пагинальной пули |
bulletActiveClass | строка | ‘Swiper-пагинация-пуля-активный’ | Имя класса CSS в настоящее время активной пуговичной пули |
modifierClass | строка | ‘Swiper-pagination-‘ | Начало имени класса CSS-модификатора, которое будет добавлено к разбивке на страницы в зависимости от параметров |
currentClass | строка | ‘Swiper-пагинация тока’ | Имя класса CSS для элемента с текущим активным индексом в разбивке на фрагменты |
общий класс | строка | ‘Swiper-пагинация итог’ | Имя класса CSS элемента с общим количеством «привязок» в разбивке на «фракцию» |
hiddenClass | строка | ‘Swiper-пагинация-скрытый’ | Имя класса CSS для разбивки на страницы, когда оно становится неактивным |
progressbarFillClass | строка | ‘Swiper-пагинация-прогрессбар-заливка’ | Имя класса CSS элемента заполнения пробивки страницы |
clickableClass | строка | ‘Swiper-пагинация интерактивная’ | Имя класса CSS, заданное для разбивки на страницы, когда оно доступно для кликов |
} |
Методы и свойства разбиения на страницы
свойства | |
---|---|
mySwiper.pagination.el | HTMLElement элемента контейнера разбиения на страницы |
mySwiper.pagination.bullets | Dom7 массив-подобный набор фрагментов палитирующих элементов HTML. Чтобы использовать конкретный слайд HTMLElementmySwiper.pagination.bullets[1] |
методы | |
mySwiper.pagination.render (); | Рендеринг макета страницы |
mySwiper.pagination.update (); | Обновить состояние разбивки на страницы (включено / отключено / активно) |
События разбиения на страницы
Название события | аргументы | Описание |
---|---|---|
нумерация страниц визуализации | swiper, paginationEl | Событие будет запущено после отображения разбивки на страницы |
обновление пагинация | swiper, paginationEl | Событие будет запущено при обновлении страницы. |
Полоса прокрутки
Параметры прокрутки
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
полоса прокрутки | объект |
Объект с параметрами полосы прокрутки. Например:
|
|
{ | |||
эль | string / HTMLElement | 0 | Строка с CSS-селектором или HTML-элементом контейнера с полосой прокрутки. |
скрывать | логический | true | Скрыть полосу прокрутки автоматически после взаимодействия с пользователем |
перетаскиваемый | логический | false | Установите значение true, чтобы включить перетаскивание полосы прокрутки, которая позволяет вам управлять положением ползунка |
snapOnRelease | логический | false | Установите значение true, чтобы привязать ползунок к слайдам при отпускании полосы прокрутки |
dragSize | Строка / номер | ‘auto’ | Размер перетаскиваемого элемента прокрутки в px |
lockClass | строка | ‘Swiper-полоса прокрутки-замок’ | Элемент CSS класса прокрутки добавляет дополнительный класс CSS, если он отключен |
dragClass | строка | ‘Swiper-прокрутки перетаскивание’ | Перетаскиваемый элемент прокрутки |
} |
Методы и свойства прокрутки
свойства | |
---|---|
mySwiper.scrollbar.el | HTMLElement элемента контейнера прокрутки |
mySwiper.scrollbar.dragEl | Элемент HTMLElement элемента управления перетаскиванием прокрутки |
методы | |
mySwiper.scrollbar.updateSize (); | Обновляет дорожки прокрутки и размеры обработчиков |
Автовоспроизведение
Параметры автовоспроизведения
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
Автовоспроизведение | объект / логический |
Объект с параметрами автовоспроизведения или boolean true для включения с настройками по умолчанию. Например:
|
|
{ | |||
задержка | число | 3000 |
Задержка между переходами (в мс). Если этот параметр не указан, автоматическое воспроизведение будет отключено
Если вам нужно указать разную задержку для определенных слайдов, вы можете сделать это, используя
|
stopOnLastSlide | логический | false | Включить этот параметр, и автовоспроизведение будет остановлено, когда оно достигнет последнего слайда (не действует в режиме цикла) |
disableOnInteraction | логический | true | Установите значение false, и автоматическое воспроизведение не будет отключено после взаимодействия пользователя (swipes), оно будет перезапущено каждый раз после взаимодействия |
обратное направление | логический | false | Включает автовоспроизведение в обратном направлении |
waitForTransition | логический | true | Когда включено, автовоспроизведение будет ждать перехода оболочки для продолжения. Может быть отключен в случае использования виртуального Перевести, когда ваш слайдер может не иметь переход |
} |
Способы и свойства автовоспроизведения
свойства | |
---|---|
mySwiper.autoplay.running | Включить и запустить автозапуск |
методы | |
mySwiper.autoplay.start (); | Начать автозапуск |
mySwiper.autoplay.stop (); | Остановить автовоспроизведение |
События автовоспроизведения
Название события | аргументы | Описание |
---|---|---|
autoplayStart | Событие будет запущено при запуске автозапуска | |
autoplayStop | Событие будет запущено при остановке автозапуска | |
Автовоспроизведение | Событие будет запущено при смене слайдов с автозапуском |
параллакс
Swiper поддерживает эффекты перехода параллакса для вложенных элементов swiper / slides. Поддерживаются два типа элементов параллакса:
- Прямые дочерние элементы
swiper-container
. Параллакс-эффект для таких элементов будет зависеть от общего хода ползунка. Полезно для фона параллакса - Слайды дочерних элементов. Параллакс-эффект для таких элементов будет зависеть от прогресса слайдов
Чтобы включить эффекты параллакса, вам необходимо инициализировать Swiper с переданным parallax:true
параметром и добавить один из следующих (или смешать) атрибутов к требуемым элементам:
-
data-swiper-parallax
— включить трансляционный переход параллакса. Этот атрибут может принимать:- number — value in px (как для заголовка, субтитров в примере выше) для перемещения элемента в зависимости от прогресса. В этом случае такой элемент будет перемещаться на ± это значение в px в зависимости от положения слайда (следующего или предыдущего)
- процент — (как для «parallax-bg») для перемещения элемента в зависимости от прогресса и его размера. В этом случае такой элемент будет перемещаться на ± этот процент от его размера (ширина в горизонтальном направлении и высота в вертикальном направлении) в зависимости от положения слайда (следующего или предыдущего). Поэтому, если элемент имеет ширину 400 пикселей, и вы указали данные-swiper-parallax = «50%», то он будет перемещен на ± 200 пикселей
data-swiper-parallax-x
— то же, но для направления оси хdata-swiper-parallax-y
— то же, но для направления оси Ydata-swiper-parallax-scale
— коэффициент масштабирования элемента параллакса, когда он находится в состоянии «неактивного» (не на активном слайде)data-swiper-parallax-opacity
— непрозрачность элемента параллакса, когда он находится в состоянии «неактивный» (не на активном слайде)data-swiper-parallax-duration
— пользовательская продолжительность перехода для элементов параллакса
<div class="swiper-container">
<!-- Parallax background element -->
<div
class="parallax-bg"
style="background-image:url(http://lorempixel.com/900/600/nightlife/2/)"
data-swiper-parallax="-23%">
</div>
<div class="swiper-wrapper">
<div class="swiper-slide">
<!-- Each slide has parallax title -->
<div class="title" data-swiper-parallax="-100">Slide 1</div>
<!-- Parallax subtitle -->
<div class="subtitle" data-swiper-parallax="-200">Subtitle</div>
<!-- And parallax text with custom transition duration -->
<div class="text" data-swiper-parallax="-300" data-swiper-parallax-duration="600">
<p>Lorem ipsum dolor sit amet, ...</p>
</div>
<!-- Opacity parallax -->
<div data-swiper-parallax-opacity="0.5" >I will change opacity</div>
<!-- Scale parallax -->
<div data-swiper-parallax-scale="0.15" >I will change scale</div>
</div>
...
</div>
</div>
Параллаксные параметры
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
параллакс | логический | false | Включить, если вы хотите использовать «параллаксированные» элементы внутри ползунка |
Ленивая загрузка
Чтобы включить ленивую загрузку, в первую очередь нам нужна специальная компоновка для изображений или элементов с фоновой подсветкой в слайдах:
<div class="swiper-container">
<div class="swiper-wrapper">
<!-- Lazy image -->
<div class="swiper-slide">
<img data-src="path/to/picture-1.jpg" class="swiper-lazy">
<div class="swiper-lazy-preloader"></div>
</div>
<!-- Lazy image with srscet-->
<div class="swiper-slide">
<img data-src="path/to/logo-small.png" data-srcset="path/logo/logo-large.png 2x" class="swiper-lazy">
<div class="swiper-lazy-preloader"></div>
</div>
<!-- Element with lazy background image -->
<div class="swiper-slide">
<div data-background="path/to/picture-2.jpg" class="swiper-lazy">
<div class="swiper-lazy-preloader"></div>
</div>
</div>
<!-- Lazy background image on slide itself -->
<div data-background="path/to/picture-3.jpg" class="swiper-slide swiper-lazy">
<div class="swiper-lazy-preloader"></div>
</div>
</div>
</div>
Как вы видите:
- Каждое ленивое загруженное изображение / элемент должно иметь дополнительный класс «swiper-lazy»
- Ленивый источник изображения для элемента <img> должен быть указан в атрибуте «data-src» вместо «src»
- Lazy image source для элемента <img> должен быть указан в атрибуте data-srcset вместо «srcset»
- В атрибуте «данные-фон» должен указываться ленивый источник фонового изображения
Вы также можете добавить анимированный преднагрузчик, который будет удален, который будет удален автоматически после загрузки изображения:
<div class="swiper-lazy-preloader"></div>
Или белый-один для темного макета:
<div class="swiper-lazy-preloader swiper-lazy-preloader-white"></div>
После этого нам нужно включить ленивую загрузку при инициализации Swiper:
var swiper = new Swiper('.swiper-container', {
// Disable preloading of all images
preloadImages: false,
// Enable lazy loading
lazy: true
});
Если вы используете slidesPerView «auto» или slidesPerView> 1, тогда вы также должны включить функцию watchSlidesVisibility,а Swiper загрузит изображения в видимых в настоящее время слайдах
Параметры ленивой загрузки
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
ленивый | объект / логический |
Включает образы ленивой загрузки. Объект с ленивыми параметрами загрузки или логическим значением true для включения с настройками по умолчанию. Например:
|
|
{ | |||
loadPrevNext | логический | false | Установите значение «true», чтобы включить ленивую загрузку для изображений ближайших слайдов (для предыдущих и следующих изображений слайдов) |
loadPrevNextAmount | число | 1 | Количество следующих / превью для предварительной загрузки ленивых изображений. Не может быть меньше slidesPerView |
loadOnTransitionStart | логический | false | По умолчанию Swiper будет загружать ленивые изображения после перехода на этот слайд, поэтому вы можете включить этот параметр, если вам нужно, чтобы начать загрузку нового изображения в начале перехода |
класс элементов | строка | ‘Swiper-ленивые’ | Имя класса CSS для ленивого элемента |
loadingClass | строка | ‘Swiper-ленивая загрузка’ | Имя класса CSS для ленивого загрузочного элемента |
loadedClass | строка | ‘Swiper-ленивым-нагруженный’ | Имя класса CSS для ленивого загруженного элемента |
preloaderClass | строка | ‘Swiper-ленивый-прелоадер’ | Имя класса CSS ленивого предварительного загрузчика |
} |
Предельные методы и свойства загрузки
методы | |
---|---|
mySwiper.lazy.load (); | Загрузка / обновление ленивых изображений на основе текущего состояния ползунка (позиция) |
mySwiper.lazy.loadInSlide ( индекс ); |
Сила для загрузки ленивых изображений в слайде указанным индексом
|
Ожидаемые загрузки
Название события | аргументы | Описание |
---|---|---|
lazyImageLoad | slideEl, imageEl | Событие будет запущено в начале ленивой загрузки изображения |
lazyImageReady | slideEl, imageEl | Событие будет запущено при загрузке ленивого загружаемого изображения |
Эффект Fade
Параметры Fade Effect
Обязательно установите параметр `effect` для` fade`, чтобы это работало.
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
fadeEffect | объект |
Объект с параметрами Fade-effect. Например:
|
|
{ | |||
Crossfade | логический | false | Включает переходы слайдов |
} |
Эффект Coverflow
Параметры эффекта Coverflow
Убедитесь, что параметр `effect` установлен в` coverflow`, чтобы это работало.
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
coverflowEffect | объект |
Объект с параметрами эффекта Coverflow. Например:
|
|
{ | |||
slideShadows | логический | true | Включает слайды |
вращаться | число | 50 | Слайд вращается в градусах |
протяжение | число | 0 | Протяжьте пространство между слайдами (в px) |
глубина | число | 100 | Смещение глубины в px (слайды переводятся по оси Z) |
изменение | число | 1 | Эффект множественный |
} |
Эффект отражения
Параметры эффекта переворота
Обязательно установите параметр `effect` для` flip`, чтобы это работало.
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
flipEffect | объект |
Объект с параметрами флип-эффекта. Например:
|
|
{ | |||
slideShadows | логический | true | Включает слайды |
limitRotation | логический | true | Предельное вращение ползунков |
} |
Эффект куба
Параметры эффекта куба
Убедитесь, что параметр `effect` установлен в` cube`, чтобы это работало.
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
cubeEffect | объект |
Объект с параметрами эффекта куба. Например:
|
|
{ | |||
slideShadows | логический | true | Включает слайды |
тень | логический | true | Включает основную слайдерную тень |
shadowOffset | число | 20 | Основное смещение тени в px |
shadowScale | число | 0.94 | Основное соотношение теней |
} |
Недурно
В дополнение к компоненту Controller Swiper поставляется с компонентом Thumbs, который предназначен для работы с дополнительным пальцем swiper более правильным способом, чем контроллер, который используется для синхронизации двух sweepers.
Параметры большого пальца
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
превью | объект |
Объект с параметрами компонента большого пальца. Например:
|
|
{ | |||
Swiper | объект Swiper |
Swiper-экземпляр swiper, используемый как большие пальцы или объект с параметрами Swiper для инициализации swiper. Например:
или же
|
|
slideThumbActiveClass | строка | ‘Swiper-slide-палец-активный’ | Дополнительный класс, который будет добавлен к активированному слайду swiper slide |
thumbsContainerClass | строка | ‘Swiper-контейнером большие пальцы’ | Дополнительный класс, который будет добавлен в большой палец swiper-container |
} |
Методы и свойства Thumbs
свойства | |
---|---|
mySwiper.thumbs.swiper | Свипперский экземпляр пальцев swiper |
Увеличить
Swiper поддерживает функции масштабирования изображений (аналогично тому, что вы видите на iOS при просмотре одиночной фотографии), где вы можете увеличивать изображение с помощью жестящего пальца и или путем увеличения / уменьшения, дважды нажав на него. В этом случае требуется дополнительная компоновка:
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">
<div class="swiper-zoom-container">
<img src="path/to/image1.jpg">
</div>
</div>
<div class="swiper-slide">
<div class="swiper-zoom-container">
<img src="path/to/image2.jpg">
</div>
</div>
<div class="swiper-slide">Plain slide with text</div>
<div class="swiper-slide">
<!-- Override maxRatio parameter -->
<div class="swiper-zoom-container" data-swiper-zoom="5">
<img src="path/to/image1.jpg">
</div>
</div>
</div>
</div>
Все «масштабируемые» изображения должны быть обернуты с помощью swiper-zoom-container
класса div . Обратите внимание: он не поддерживает масштабирование всего остального, кроме одного изображения.
Вы можете переопределить maxRatio
параметр для определенных слайдов, используя data-swiper-zoom
атрибут в контейнере масштабирования.
Параметры масштабирования
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
zoom | объект / логический |
Включает функцию масштабирования. Объект с параметрами масштабирования или логическим значением true для включения с настройками по умолчанию. Например:
|
|
{ | |||
maxRatio | число | 3 | Максимальный множитель увеличения изображения |
minRatio | число | 1 | Умножитель минимального изображения |
тумблер | логический | true | Включение и отключение масштабирования двойным нажатием слайда |
containerClass | строка | ‘Swiper-zoom-контейнер’ | Имя класса CSS для масштабирования |
zoomedSlideClass | строка | ‘Swiper-slide-увеличенный’ | Имя класса CSS увеличенного в контейнере |
} |
Методы масштабирования и свойства
свойства | |
---|---|
mySwiper.zoom.enabled | Включен ли модуль масштабирования |
mySwiper.zoom.scale | Коэффициент масштабирования текущего изображения |
методы | |
mySwiper.zoom.enable (); | Включить модуль масштабирования |
mySwiper.zoom.disable (); | Отключить модуль масштабирования |
mySwiper.zoom.in(); | Увеличить изображение текущего активного слайда |
mySwiper.zoom.out (); | Уменьшить изображение текущего активного слайда |
mySwiper.zoom.toggle (); | Переключить масштабирование изображения текущего активного слайда |
Управление клавиатурой
Параметры управления клавиатурой
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
клавиатура | объект / логический | false |
Включает навигацию через слайды с помощью клавиатуры. Объект с параметрами клавиатуры или логическим значением true для включения с настройками по умолчанию. Например:
|
{ | |||
включен | логический | false | Установите значение true, чтобы включить управление клавиатурой |
onlyInViewport | логический | true | При включении он будет управлять ползунками, которые в настоящее время находятся в режиме просмотра |
} |
Методы и свойства клавиатуры
свойства | |
---|---|
mySwiper.keyboard.enabled | Включено ли управление клавиатурой |
методы | |
mySwiper.keyboard.enable (); | Включить управление клавиатурой |
mySwiper.keyboard.disable (); | Отключить управление клавиатурой |
Управление мышью
Параметры управления мышью
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
колесико мыши | объект / логический | false |
Включает навигацию через слайды с помощью колеса мыши. Объект с параметрами mousewheel или boolean true для включения с настройками по умолчанию. Например:
|
{ | |||
forceToAxis | логический | false | Установите значение true, чтобы заставить колесики мыши двигаться к оси. Таким образом, в горизонтальном режиме колесико будет работать только с горизонтальной прокруткой колесика мыши и только с вертикальной прокруткой в вертикальном режиме. |
releaseOnEdges | логический | false | Установите значение true, и swiper освободит событие mousewheel и позволит прокручивать страницу, когда swiper находится в крайних положениях (в начале или в конце) |
инвертировать | логический | false | Установите значение true, чтобы инвертировать направление скольжения |
чувствительность | число | 1 | Множитель данных колесика мыши позволяет настраивать чувствительность колесика мыши |
eventsTarged | string / HTMLElement | ‘container’ | Строка с CSS-селектором или HTML-элементом контейнера, принимающим события мыши. По умолчанию это swiper-контейнер |
} |
Методы и свойства Mousewheel
свойства | |
---|---|
mySwiper.mousewheel.enabled | Включено ли управление колесиком мыши |
методы | |
mySwiper.mousewheel.enable (); | Включить управление колесиком мыши |
mySwiper.mousewheel.disable (); | Отключить управление колесиком мыши |
Виртуальные слайды
Модуль Virtual Slides позволяет сохранять необходимое количество слайдов в DOM. Это очень полезно с точки зрения производительности и памяти, если у вас много слайдов, особенно слайдов с тяжелым деревом DOM или изображениями.
Обратите внимание, что в соответствии с реализацией Virtual Slides он не работает с loop
режимом, slidesPerRow
более 1 иslidesPerView: 'auto'
Параметры виртуальных слайдов
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
виртуальный | объект / логический |
Включает функции виртуальных слайдов. Объект с параметрами виртуальных слайдов или логическими значениями true для включения с настройками по умолчанию. Например:
|
|
{ | |||
слайды | массив | [] | Массив со слайдами |
кэш | логический | true | Включает кеш DOM для рендеринга слайдов элементов html. После их рендеринга они будут сохранены в кеш и повторно использованы из него. |
renderSlide | функция (слайд ,индекс ) | 0 | Функция отображения слайдов. В качестве аргумента он принимает текущий элемент слайда для slides массива и индексного номера текущего слайда. Функция должна возвращать HTML-файл outper. |
renderExternal | Функция (данные) | 0 |
Функция для внешнего рендеринга (например, с использованием какой-либо другой библиотеки для обработки DOM-манипуляций и состояния типа React.js или Vue.js). В качестве аргумента он принимает объект данных со следующими свойствами:
|
addSlidesBefore | число | 0 | Увеличивает количество предварительно созданных слайдов перед активным слайдом |
addSlidesAfter | число | 0 | Увеличивает количество предварительно созданных слайдов после активного слайда |
} |
Виртуальные слайды Методы и свойства
свойства | |
---|---|
mySwiper.virtual.cache | Объект с кэшированными слайдами HTML-элементов |
mySwiper.virtual.from | Индекс первого отображаемого слайда |
mySwiper.virtual.to | Индекс последнего отображаемого слайда |
mySwiper.virtual.slides | Массив с предметами слайдов, переданными virtual.slides параметром |
методы | |
mySwiper.virtual.appendSlide ( слайд ); | Добавить слайд |
mySwiper.virtual.prependSlide ( слайд ); | Подготовить слайд |
mySwiper.virtual.update (); | Обновление состояния вирутальных слайдов |
renderExternal Example
renderExternal
позволяет обходить показ слайдов другим библиотекам и может быть супер удобно с такими библиотеками, как React.js и Vue.js
С Vue.js
<template>
<!-- ... -->
<div class="swiper-container">
<div class="swiper-wrapper">
<!-- It is important to set "left" style prop on every slide -->
<div class="swiper-slide"
v-for="(slide, index) in virtualData.slides"
:key="index"
:style="{left: `${virtualData.offset}px`}"
>{{slide}}</div>
</div>
</div>
<!-- ... -->
</template>
<script>
import Swiper from 'swiper/dist/js/swiper.esm.bundle';
export default {
data() {
return {
// dummy slides data
slides: (function () {
var slides = [];
for (var i = 0; i < 600; i += 1) {
slides.push('Slide ' + (i + 1));
}
return slides;
}()),
// virtual data
virtualData: {
slides: [],
},
}
},
mounted() {
const self = this;
const swiper = new Swiper('.swiper-container', {
// ...
virtual: {
slides: self.slides,
renderExternal(data) {
// assign virtual slides data
self.virtualData = data;
},
},
});
},
};
</script>
С React.js
import React from 'react';
import Swiper from 'swiper/dist/js/swiper.esm.bundle';
export default class extends React.Component {
constructor() {
this.state = {
// dummy slides data
slides: (function () {
var slides = [];
for (var i = 0; i < 600; i += 1) {
slides.push('Slide ' + (i + 1));
}
return slides;
}()),
// virtual data
virtualData: {
slides: [],
},
}
}
componentDidMount() {
const self = this;
const swiper = new Swiper('.swiper-container', {
// ...
virtual: {
slides: self.state.slides,
renderExternal(data) {
// assign virtual slides data
self.setState({
virtualData: data,
});
}
},
});
}
render() {
{/* ... */}
<div className="swiper-container">
<div className="swiper-wrapper">
{/* It is important to set "left" style prop on every slide */}
{this.state.virtualData.slides.map((slide, index) => (
<div className="swiper-slide"
key={index}
style={{left: `${virtualData.offset}px`}}
>{slide}</div>
))}
</div>
</div>
{/* ... */}
}
}
Навигация по хачкам
Навигация хэша предназначена для ссылки на конкретный слайд, который позволяет загружать страницу с определенным слайдом.
Чтобы заставить его работать, вам нужно включить его, передав hashNavigation:true
параметр и добавив хэши слайдов в data-hash
атрибут:
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide" data-hash="slide1">Slide 1</div>
<div class="swiper-slide" data-hash="slide2">Slide 2</div>
<div class="swiper-slide" data-hash="slide3">Slide 3</div>
<div class="swiper-slide" data-hash="slide4">Slide 4</div>
<div class="swiper-slide" data-hash="slide5">Slide 5</div>
...
</div>
</div>
var swiper = new Swiper('.swiper-container', {
//enable hash navigation
hashNavigation: true
})
Параметры навигации по hash
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
hashNavigation | объект / логический |
Включает навигацию по хэш-сайту для слайдов. Объект с параметрами навигации хеша или логическим значением true для включения с настройками по умолчанию. Например:
|
|
{ | |||
watchState | логический | false | Установите значение true, чтобы включить также навигацию через слайды (когда hashnav включен) в истории браузера или путем установки непосредственно хэша на местоположение документа |
replaceState | логический | false | Работает в дополнение к хешнаву, чтобы заменить текущее состояние url новым, вместо того, чтобы добавлять его в историю |
} |
История навигации
Параметры навигации по истории
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
история | объект / логический |
Включает статус истории, в котором каждый слайд будет иметь свой собственный URL-адрес. В этом параметре вы должны указать основной слайды url как «слайды» и указать каждый data-history атрибут слайда с использованием атрибута.
Объект с навигационными параметрами истории или логическим значением true для включения с настройками по умолчанию. Например:
|
|
{ | |||
replaceState | логический | false | Работает в дополнение к хешнаву или истории, чтобы заменить текущее состояние url новым, а не добавлять его в историю |
ключ | строка | «горки» | Клавиша Url для слайдов |
} |
контроллер
Параметры контроллера
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
контроллер | объект / логический |
Объект с параметрами контроллера или логическим значением true для включения с настройками по умолчанию. Например:
|
|
{ | |||
контроль | [Свитер-экземпляр] | не определено | Передайте еще один экземпляр или массив Swiper с экземплярами Swiper, которые должны контролироваться этим Swiper |
обратный | логический | false | Установите значение true и управление будет в обратном направлении |
от | строка | ‘горка’ | Может быть 'slide' или 'container' . Определяет способ управления другим слайдером: скользить по слайду (по отношению к сетке другого слайдера) или в зависимости от всех слайдов / контейнера (в зависимости от общего значения ползунка) |
} |
Доступность (a11y)
Параметры доступности
параметр | Тип | По умолчанию | Описание |
---|---|---|---|
a11y | объект / логический |
Объект с параметрами a11y или boolean true для включения с настройками по умолчанию. Например:
|
|
{ | |||
включен | логический | true | Включает A11y |
prevSlideMessage | строка | «Предыдущий слайд» | Сообщение для чтения с экрана для предыдущей кнопки |
nextSlideMessage | строка | «Следующий слайд» | Сообщение для читателей экрана для следующей кнопки |
firstSlideMessage | строка | «Это первый слайд» | Сообщение для считывателей экрана для предыдущей кнопки, когда swiper находится на первом слайде |
lastSlideMessage | строка | «Это последний слайд» | Сообщение для чтения с экрана для предыдущей кнопки, когда swiper находится на последнем слайде |
разбиение на страницы BulletMessage | строка | ‘Перейти к слайду {{index}}’ | Сообщение для чтения с экрана для одиночной пагинальной пули |
notificationClass | строка | ‘Swiper-уведомление’ | Имя класса CSS для уведомления a11 |
{ |
Пользовательская сборка
У вас есть два варианта создания пользовательской версии Swiper.
1. Использование ES-модуля
Если вы используете связку с поддержкой ES-модулей в своем проекте, вы можете импортировать только нужные вам модули:
// Import Swiper and modules
import { Swiper, Navigation, Pagination, Scrollbar } from 'swiper/dist/js/swiper.esm.js';
// Install modules
Swiper.use([Navigation, Pagination, Scrollbar]);
// Now you can use Swiper
var swiper = new Swiper('.swiper-container', {
speed: 500,
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
// ...
});
Следующие модули экспортируются из swiper.esm.js
:
Swiper
— основная библиотекаVirtual
— Модуль виртуальных слайдовKeyboard
— Модуль управления клавиатуройMousewheel
— Модуль управления MousewheelNavigation
— Модуль навигацииPagination
— Модуль разбивки на страницыScrollbar
— Модуль прокруткиParallax
— Модуль ParallaxZoom
— Модуль масштабированияLazy
— ленивый модульController
— Модуль контроллераA11y
— Модуль доступностиHistory
— ИсторияHashNavigation
— Модуль навигации HashAutoplay
— Модуль автовоспроизведенияEffectFade
— Модуль Fade EffectEffectCube
— Модуль эффектов кубаEffectFlip
— Модуль Flip EffectEffectCoverflow
— Модуль эффектов Coverflow
2. Использование скрипта сборки
Swiper поставляется с gulp builder, который позволяет создавать пользовательскую версию библиотеки, где вы можете включать только необходимые модули. Нам нужно следующее:
- Загрузите и распакуйте репозиторий Swiper GitHub в локальную папку
- Установите Node.js (если не установлен)
- Установите Gulp (если не установлен), выполнив следующую команду в терминале:
$ npm install --global gulp
- Теперь нам нужно установить необходимые зависимости. Перейдите в папку с загруженным и распакованным хранилищем Swiper и выполните в терминале:
$ npm install
- Открыть
scripts/build-config.js
файл:module.exports = { // remove components you don't need components: [ 'virtual', 'keyboard', 'mousewheel', 'navigation', 'pagination', 'scrollbar', 'parallax', 'zoom', 'lazy', 'controller', 'a11y', 'history', 'hash-navigation', 'autoplay', 'effect-fade', 'effect-cube', 'effect-flip', 'effect-coverflow', ], // target device, can be "desktop" or "universal" target: 'universal', // default color of navigation elements themeColor: '#007aff', // additional color to be included colors: { white: '#ffffff', black: '#000000', }, };
- Теперь мы готовы создать пользовательскую версию Swiper:
$ npm run build:prod
- Это все. Сгенерированные файлы CSS и JS и их мини-версии будут доступны в
dist/
папке.