Справочники, инструменты, документация

jQuery: Установка и настройка слайдера Owl Carousel

Owl Carousel 2 — гибкий, приятный и удобный в использовании слайдер. Он интуитивно понятно себя ведет, адаптивен, замечательно себя чувствует на любых платформах и разрешениях. Использовать его в работе — одно удовольствие. Само собой нам так же понадобиться jQuery.

Скачав и распаковав Owl Carousel 2 нам нужно его подключить. Для этого в <head> добавляем стили: <link rel="stylesheet" href="Путь-до-папки-со-стилями/owl.carousel.min.css" />

Если вам лень писать свои стили для внешнего вида слайдера, то можете подключить CSS файл со стандартной темой от разработчиков: <link rel="stylesheet" href="Путь-до-папки-со-стилями/owl.theme.default.css" />

И внизу страницы подключаем непосредственно сам js (Owl Carousel должен подключаться после jQuery): <script src="Путь-до-папки-с-js/owl.carousel.min.js"></script>

Добавляем в нужное вам место на странице блок со слайдером:

<div class="owl-carousel owl-theme">
 <div> Контент </div>
 <div> Контент </div>
 <div> Контент </div>
 <div> Контент </div>
 <div> Контент </div>
 <div> Контент </div>
 <div> Контент </div>
</div>

Содержимым слайдера может выступать что угодно. Картинки, текст, списки, видео, все на что хватит вашей фантазии, но оно обязательно должно быть обернуто в контейнер (например <div> или <ul>). Если вы не используете стандартную тему owl.theme.default.css то класс owl-theme добавлять не нужно. Теперь просто вызываем функцию плагина (добавляем следующий код в конце странице, после подключения owl.carousel.min.js):

<script>
$(document).ready(function(){
 $('.owl-carousel').owlCarousel();
});
</script>

Если у вас уже есть вызовы других функций по (document).ready, то можно просто к ним добавить $('.owl-carousel').owlCarousel();). Карусель установлена и функционирует.

У плагина достаточно простое и понятное API с помощью которого можно задавать опции к вызову нашей карусели. Ниже я приведу их подробную таблицу с русским описанием и приложу пример моего использования его на последнем разрабатываемом мной проекте, для наглядности.

Табличка вышла не маленькая и перевод получился немного не полный, но самое важное и постоянно используемое я перевел. Как только у меня будет чуть больше свободного времени я обязательно доведу перевод на русский язык документации по Owl Carousel 2 до конца.

Дабы предупредить некоторые глупые вопросы у людей которые не знают ничего о типах данных — сделаю небольшой дисклеймер. В таблице приведен параметр и тип значения в котором нужно его указывать. Тип Number используется как ни странно для числовых значений, как целых так и дробных (например 1, 5, 80). Тип Boolean является булевым и имеет два значения — true (истина) или false (ложь) (грубо говоря да\нет). String это строчный тип данных, в который вы можете записывать любую строку (оборачивается как в одинарные так и в двойные кавычки). Так же в параметр можно передавать и другие данные, например массивы (Array) или же целые функции.

Параметр Тип Стандарт Описание
items Number 3 Кол-во отображаемых элементов в слайдере
margin Number 0 Отступ справа у элементов внутри слайдера (значение в px)
loop Boolean false Бесконечное зацикливание слайдера (для лучшего эффекта продублируйте первый и последний элемент)
center Boolean false Позиционирование элементов по центру (лучше работает при нечетном кол-ве элементов)
mouseDrag Boolean true Перелистывание элементов зажатой мышкой
touchDrag Boolean true Перелистывание касанием (смартфоны\планшеты)
pullDrag Boolean true Stage pull to edge.
freeDrag Boolean false Item pull to edge.
stagePadding Number 0 Padding left and right on stage (can see neighbours).
merge Boolean false Merge items. Looking for data-merge='{number}’ inside item..
mergeFit Boolean true Fit merged items if screen is smaller than items value.
autoWidth Boolean false Размещение элементов не сеткой (Задайте высоту каждому диву)
startPosition Number/String 0 Стартовая позиция (?) или URL хэш (Например «#id»)
URLhashListener Boolean false Отслеживание изменений URL хэша (Хэш должен присутствовать на каждом элементе)
nav Boolean false Отображение кнопок вперед\назад
navText Array - Текст на кнопках навигации. HTML разрешен.
navElement String div Тип DOM элемента для навигационной ссылки в одну сторону.
slideBy Number/String 1 Пролистывание слайдера по оси X. Значение ‘page’ позволяет сделать навигацию по странице.
dots Boolean true Отображение навигационных «точек»
dotsEach Number/Boolean false Отображение навигационных «точек» ‘x’ кол-во элементов
dotData Boolean false Используется data-dot контентом
lazyLoad Boolean false Lazy-Load картинок. data-src и data-src-retina указываются для высоких разрешений. Так же загружает изображение инлайново в свойство background если элемент не является
autoplay Boolean false Автоматическое пролистывание
autoplayTimeout Number 5000 Интервалы между пролистыванием элементов
autoplayHoverPause Boolean false Останавливает автопроигрывание если навести мышкой (hover) на элемент
smartSpeed Number 250 Просчитывание скорости (В оф. документации больше информации нет)
fluidSpeed Number - Скорость автоматического пролистывания
autoplaySpeed Number/Boolean false Скорость автоматического пролистывания
navSpeed Number/Boolean false Скорость навигации
dotsSpeed Number/Boolean - Скорость навигации «точками»
dragEndSpeed Number/Boolean false Drag end speed.
callbacks Boolean true Включение\отключение колбэк ивентов.
responsive Object empty object Объект содержит в себе настройки для адаптивности. Если установить значение в false — поддержка адаптивности отключается.
responsiveRefreshRate Number 200 Responsive refresh rate.
responsiveBaseElement DOM element window Вешается на любой DOM элемент. Если вы хотите поддержку старых браузеров (например ie8) вешайте его на главный оберточный элемент (wrapper). Это должно предупредить неадекватный ресайз.
video Boolean false Включение\отключение поддержки в слайдере видео (youtube\vimeo\Vzaar)
videoHeight Number/Boolean false Установка высоты видео
videoWidth Number/Boolean false Установка ширины видео
animateOut String/Boolean false CSS класс анимации «out»
animateInClass String/Boolean false CSS класс анимации «in»
fallbackEasing String swing Смягчение (?) CSS2 $.animate.
info Function false Колбэк для извлечение базовой информации (текущий элемент/страницы/ширины).
nestedItemSelector String/Class false Используйте если элемент слайдера глубоко вложен в генерируемый контент, например ‘myitem’. Не используйте точку перед названием класса.
itemElement String div Тип DOM элемента слайдера.
stageElement String div Тип DOM элемента owl-stage.
navContainer String/Class/ID/Boolean false Установка своего контейнера для навигации
dotsContainer String/Class/ID/Boolean false Установка своего контейнера для навигации по «точкам»

Пример вызова Owl Carousel 2 с комментариями:

$(document).ready(function() {
 $('#carouselOne').owlCarousel({
 loop:true, //Зацикливаем слайдер
 margin:50, //Отступ от элемента справа в 50px
 nav:true, //Отключение навигации
 autoplay:true, //Автозапуск слайдера
 smartSpeed:1000, //Время движения слайда
 autoplayTimeout:2000, //Время смены слайда
 responsive:{ //Адаптивность. Кол-во выводимых элементов при определенной ширине.
 0:{
 items:1
 },
 600:{
 items:2
 },
 1000:{
 items:4
 }
 }
 });
});

Чтобы сделать два или несколько слайдеров на сайте с помощью Owl Carousel 2 достаточно просто вызывать функцию не по классу а по id (как в моем примере), и не забудьте их расставить непосредственно в разметке страницы.