Light-Swiper
Легкий, ориентированный на мобильные устройства, собственный плагин Swiper (3 КБ в сжатом виде). Событие касания основано на элементе и не влияет на событие касания страницы (например, пролистывание вправо для возврата на предыдущую страницу).
Рефакторинг в Swipe для достижения пользовательской ширины, смещения, бесконечного вращения, репликации событий и других функций, что делает работу более плавной.
Если вы найдете это полезным, добро пожаловать в звездочку~
предварительный просмотр
Установить
npm install light-swiper
// or
yarn add light-swiper
или черезscriptПредставлен в виде тегов
<script src="./swiper.min.js"></script>
Теперь вы можете использовать глобальные переменныеlightSwiper
Применение
light-swiper просто нужно следовать простым шаблонам макета, таким как:
<div class="light-swiper">
<div class="swiper-wrap">
<div class="swipe-item"></div>
<div class="swipe-item"></div>
<div class="swipe-item"></div>
<div class="swipe-item"></div>
</div>
</div>
Выше показана структура, которая была необходима изначально: ряд элементов, заключенных в два контейнера. В каждом элементе свайпа вы можете настроить то, что хотите. Чтобы инициализировать Swiper, требуется всего лишь простая строка кода для передачи в самый внешний DOM swiper, как показано ниже:
import Swiper from 'light-swiper'
const mySwiper = new Swiper(document.querySelector('.light-swiper'));
В дополнение к этому требуются некоторые простые стили CSS:
.light-swiper {
overflow: hidden;
position: relative;
}
.swiper-wrap {
overflow: hidden;
position: relative;
}
.swipe-item {
float: left;
width: 100%;
position: relative;
}
Пользовательские параметры конфигурации
Проведите по экрану, чтобы выбрать второй параметр: [параметры]
| параметр | иллюстрировать | Типы | По умолчанию |
|---|---|---|---|
| startSlide | местоположение индекса по умолчанию | int | 0 |
| speed | время выполнения анимации | int | 300 |
| auto | Будет ли воспроизводиться автоматически, входящее время переключения | int | - |
| continuous | Зацикливаться ли | boolean | false |
| width | Ширина одного смахивания, обычно используемая, когда необходимо предварительно просмотреть несколько свайпов. | int | - |
| offset | Смещение слева, обычно используется, когда вам нужно предварительно просмотреть несколько свайпов. | int | - |
| disableScroll | Отключить все сенсорные события для Swiper | boolean | false |
| stopPropagation | предотвращение всплытия событий | boolean | false |
| callback | обратный вызов события | Function | (index, currentEl) |
| transitionEnd | событие завершения анимации | Function | (index, currentEl) |
| swiping | Вызывается при смахивании с процентом (0-1) от полной ширины, которая была смахнута | Function | (percent) |
пример
const mySwiper = new Swiper(document.querySelector('.light-swiper'), {
width: 310,
offset: 30,
startSlide: 2,
speed: 400,
auto: 3000,
continuous: true,
disableScroll: false,
stopPropagation: false,
callback: function(index, elem) {},
transitionEnd: function(index, elem) {}
});
API
light-swiper предоставляет следующие API, которые могут управлять смахиванием:
prev()Проведите на предыдущую страницу
next()Проведите на следующую страницу
getPos()Возвращает индекс текущей позиции
getNumSlides()Возвращает общее количество ползунков
kill()Уничтожить текущий экземпляр Swiper
совместимость
Swipe теперь совместим со всеми браузерами, включая IE7+. Swipe лучше всего работает с устройствами, которые поддерживают преобразование CSS и касание, но его также можно использовать без этих устройств. Некоторые вспомогательные методы определяют поддержку касания и перехода CSS и соответственно выбирают соответствующий метод анимации.
Кто использует свайп
- CNN
- Craigslist
- Airbnb
- NHL
- …