Последняя версия: 1.7.8 Быстрый, легковесный, независимый от зависимостей, адаптивный, доступный, расширяемый список с пейджинговыми контролями, методами и событиями. (< 2.8 кб после gzip!)
Демо и полная документация доступны на Github Pages: https://nickpiscitelli.github.io/Glider.js/
Добавьте glider.min.css:
<link rel="stylesheet" href="glider.min.css">
или
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/glider-js@1/glider.min.css">
Добавьте Glider.js:
<script src="glider.min.js"></script>
или
<script src="https://cdn.jsdelivr.net/npm/glider-js@1/glider.min.js"></script>
Пример HTML:
<div class="glider">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
Инициализация Glider.js
new Glider(document.querySelector('.glider'));
Инициализация Glider.js со всеми параметрами:
new Glider(document.querySelector('.glider'), {
// `auto` позволяет автоматически вычислять адаптивную ширину
slidesToShow: 'auto',
slidesToScroll: 'auto',
// должно было называться `itemMinWidth`
// слайды увеличиваются до размера контейнера
// игнорируется, если `slidesToShow` установлен на `auto`
itemWidth: undefined,
// если true, слайды не будут масштабироваться для соответствия размеру экрана
// требует установки `itemWidth`
// * это может вызвать наличие дробных слайдов
exactWidth: false,
// скорость прокрутки — чем выше значение, тем медленнее прокрутка
duration: .5,
// контейнер элементов или селектор для точек
dots: 'CSS Selector',
// контейнер элементов или селектор для стрелок
arrows: {
prev: 'CSS Selector',
// можно передать элемент напрямую
next: document.querySelector('CSS Selector')
},
}); // enable mouse dragging
draggable: false,
// how much to scroll with each movement of the mouse
dragVelocity: 3.3,
// use any custom easing function
// compatible with most easing plugins
easing: function(x, t, b, c, d) {
return c * (t /= d) * t + b;
},
// event propagation management
scrollPropagate: false,
eventPropagate: true,
// force centering of the slide after a scrolling event
scrollLock: false,
// how long to wait after a scrolling event before locking
// if too short, it may interfere with normal scrolling
scrollLockDelay: 150, // Force centering of the slide after a resizing event
resizeLock: true,
// Glider.js breakpoints are mobile-oriented
responsive: [
{
breakpoint: 900,
settings: {
slidesToShow: 2,
slidesToScroll: 2
}
},
{
breakpoint: 575,
settings: {
slidesToShow: 3,
slidesToScroll: 3
}
}
]
});
Changing options:
Glider(document.querySelector(element_path)).setOption({
name: value,
...
});
// optionally call refresh
Glider(document.querySelector(element_path)).refresh();
Binding events:
document.querySelector(element_path).addEventListener('glider-slide-visible', function(event){
// `this` is bound to the glider element
// custom data is located in `event.detail`
// access to the Glider object through `Glider(this)`
...
});
Removal using:
Glider(document.querySelector(element_path)).destroy();
$ npm install glider-js
$ yarn add glider-js
#### Поддержка браузеров
Glider.js должна работать во всех современных браузерах. Поддержка старых браузеров может быть достигнута путём использования полифилов для `document.classList`, `window.requestAnimationFrame`, `Object.assign` и `CustomEvent`.
Добавьте `glider-compat.min.js` для загрузки вышеупомянутых полифилов.
#### Нативные полосы прокрутки
Большинство браузеров теперь поддерживают свойство `scrollbar-width`, что позволяет избежать грязной хакерской доработки ниже.
**ПРИМЕЧАНИЕ:** Эта функция отмечена как экспериментальная и может не работать во всех браузерах.
```css
.glider-track {
scrollbar-width: none;
}
Так как Glider.js использует нативную прокрутку, браузеры хотят применять стандартные полосы прокрутки к glider. В большинстве случаев это допустимо, так как полосы прокрутки могут быть скрыты с помощью CSS, а Glider.js делает это при необходимости. Однако в браузерах, таких как Firefox, полосы прокрутки не могут быть скрыты с помощью CSS и требуют дополнительной разметки для скрытия.
Для скрытия полос прокрутки в Firefox вам следует обернуть ваш glider в <div class="glider-wrap">
и применить следующий CSS/JS:```css
@-moz-document url-prefix() {
.glider-track {
margin-bottom: 17px;
}
.glider-wrap {
overflow: hidden;
}
}
```javascript
document.addEventListener('glider-loaded', скрытьFFScrollIndicator);
document.addEventListener('glider-refresh', скрытьFFScrollIndicator);
function скрытьFFScrollIndicator(e) {
var высотаПолосыПрокрутки = 17; // Currently 17, may change with updates
if (/firefox/i.test(navigator.userAgent)) {
// We need to apply this only to the desktop version. Firefox for mobile devices uses a different rendering engine (WebKit)
if (window.innerWidth > 575) {
e.target.parentNode.style.height = (e.target.offsetHeight - высотаПолосыПрокрутки) + 'px';
}
}
}
Ничего :)
Авторское право © 2018 Ника Писчителли
Разрешено в рамках лицензии MIT.
Это всё ваше.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )