1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-Glider.js

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Glider.js

Последняя версия: 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();

Installation using package managers NPM/YARN```

$ 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';
    }
  }
}

Пакеты, использующие Glider.js :rocket:- react-glider - Обертка для Glider.js на React, написанная на TypeScript.

Внешние зависимости

Ничего :)

Лицензия

Авторское право © 2018 Ника Писчителли

Разрешено в рамках лицензии MIT.

Это всё ваше.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Glider.js — это библиотека компонентов для создания каруселей, которая зависит от нативного JavaScript. Её размер после сжатия составляет всего 2,8 КБ, при этом она обладает хорошей производительностью. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-Glider.js.git
git@api.gitlife.ru:oschina-mirror/mirrors-Glider.js.git
oschina-mirror
mirrors-Glider.js
mirrors-Glider.js
master