Один из популярнейших слайдеров на Jquery является Slick Slider . И это не мудрено, так как данный плагин умеет очень много. В большинстве случаев вы будите использовать общепринятые модели слайдера, но давайте взглянем на, что способен данный плагин. А способен о на многое. Для начала подключаем файлы стилей к нашему проекту, я буду в примере использовать файлы из CDN вы можете скачать дистрибудив слайдера Slick с офф. сайта или с Github https://github.com/kenwheeler/slick/
<!-- Добавляем стили из CDN -->
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/gh/kenwheeler/slick@1.9.0/slick/slick.css"/>
<!-- Добавляем тему по умолчанию из CDN -->
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/gh/kenwheeler/slick@1.9.0/slick/slick-theme.css"/>
Данный код должен быть в самом конце, перед закрывающим тегом
</body>
<script type="text/javascript" src="//cdn.jsdelivr.net/gh/kenwheeler/slick@1.9.0/slick/slick.min.js"></script>
Список возможностей использования Slick Slider
- Одиночный слайд
- Несколько слайдов
- Адаптивный слайдер
- Различная ширина слайдов
- Различная высота слайдов
- Настройка с Data атрибутом
- Режим центрирования слайда
- Ленивая загрузка
- Автоматическая прокрутка
- Смена слайдов размытием Fade
- Добавление и удаление слайдов
- Фильтрация слайдов
- Уничтожить объект
- Синхронизация слайдеров
- Справа налево
- Насторйки
- События
- Методы
//Иницилизируем слайдер с параметрами по умолчанию
$('.single-item').slick();
//Указываем что будем выводить по 3 слайда на экран
$('.multiple-items').slick({
infinite: true,
slidesToShow: 3,
slidesToScroll: 3
});
//Настройки по выводу слайдов в зависимости от разрешения экрана
$('.responsive').slick({
dots: true,
infinite: false,
speed: 300,
slidesToShow: 4,
slidesToScroll: 4,
responsive: [
{
breakpoint: 1024,
settings: {
slidesToShow: 3,
slidesToScroll: 3,
infinite: true,
dots: true
}
},
{
breakpoint: 600,
settings: {
slidesToShow: 2,
slidesToScroll: 2
}
},
{
breakpoint: 480,
settings: {
slidesToShow: 1,
slidesToScroll: 1
}
}
]
});
$('.variable-width').slick({
dots: true,
infinite: true,
speed: 300,
slidesToShow: 1,
centerMode: true,
variableWidth: true
});
$('.one-time').slick({
dots: true,
infinite: true,
speed: 300,
slidesToShow: 1,
adaptiveHeight: true
});
Внимание:
Начиная с Slick 1.5 вы можете добавлять настройки, используя атрибут data-slick . Вам все еще нужно вызвать $(element).slick() , чтобы инициализировать Slick на элементе.
<div data-slick='{"slidesToShow": 4, "slidesToScroll": 4}'>
<div><h3>1</h3></div>
<div><h3>2</h3></div>
<div><h3>3</h3></div>
<div><h3>4</h3></div>
<div><h3>5</h3></div>
<div><h3>6</h3></div>
</div>
$('.center').slick({
centerMode: true,
centerPadding: '60px',
slidesToShow: 3,
responsive: [
{
breakpoint: 768,
settings: {
arrows: false,
centerMode: true,
centerPadding: '40px',
slidesToShow: 3
}
},
{
breakpoint: 480,
settings: {
arrows: false,
centerMode: true,
centerPadding: '40px',
slidesToShow: 1
}
}
]
});
// Используйте леневую загрузку устаноиви ее в data-lazy атрибудет
// В нем укажите источник к файлу в место SRC
<img data-lazy="img/lazyfonz1.png"/>
$('.lazy').slick({
lazyLoad: 'ondemand',
slidesToShow: 3,
slidesToScroll: 1
});
$('.autoplay').slick({
slidesToShow: 3,
slidesToScroll: 1,
autoplay: true,
autoplaySpeed: 2000,
});
$('.fade').slick({
dots: true,
infinite: true,
speed: 500,
fade: true,
cssEase: 'linear'
});
$('.add-remove').slick({
dots: true,
slidesToShow: 3,
speed: 500,
slidesToScroll: 3
});
var slideIndex = 1;
$('.js-add-slide').on('click', function() {
slideIndex++;
$('.add-remove').slick('slickAdd','<div><h3>' + slideIndex + '</h3></div>');
});
$('.js-remove-slide').on('click', function() {
$('.add-remove').slick('slickRemove',slideIndex - 1);
if (slideIndex !== 0){
slideIndex--;
}
});
$('.filtering').slick({
slidesToShow: 4,
slidesToScroll: 4
});
var filtered = false;
$('.js-filter').on('click', function(){
if (filtered === false) {
$('.filtering').slick('slickFilter',':even');
$(this).text('Unfilter Slides');
filtered = true;
} else {
$('.filtering').slick('slickUnfilter');
$(this).text('Filter Slides');
filtered = false;
}
});
Если ты действительно хочешь быть тем парнем ...
//Уничтожить объект слайдера
$('.your-slider').slick('unslick');
$('.slider-for').slick({
slidesToShow: 1,
slidesToScroll: 1,
arrows: false,
fade: true,
asNavFor: '.slider-nav'
});
$('.slider-nav').slick({
slidesToShow: 3,
slidesToScroll: 1,
asNavFor: '.slider-for',
dots: true,
centerMode: true,
focusOnSelect: true
});
$('.single-item-rtl').slick({
rtl: true
});
Setting | Type | Default | Description |
---|---|---|---|
accessibility | boolean | true | Включает вкладки и навигацию по клавишам со стрелками |
adaptiveHeight | boolean | false | Обеспечивает адаптивную высоту для односкатных горизонтальных каруселей. |
autoplay | boolean | false | Включает автоигру |
autoplaySpeed | Int (мс) | 3000 | Автоигра Скорость в миллисекундах |
arrows | boolean | true | Предыдущая / Следующая Стрелки |
asNavFor | string | ноль | Установите ползунок для навигации по другому ползунку (имя класса или идентификатора) |
appendArrows | string | $(element) | Изменить место прикрепления навигационных стрелок (Selector, htmlString, Array, Element, jQuery object) |
appendDots | string | $(element) | Изменить местоположение точек навигации (Selector, htmlString, Array, Element, object jQuery) |
prevArrow | string (html | jQuery селектор) | объект (узел DOM | объект jQuery) | <button type = "button" class = "slick-prev"> Предыдущая </ button> | Позволяет выбрать узел или настроить HTML-код для стрелки «Назад». |
nextArrow | string (html | jQuery селектор) | объект (узел DOM | объект jQuery) | <button type = "button" class = "slick-next"> Next </ button> | Позволяет выбрать узел или настроить HTML-код для стрелки «Далее». |
centerMode | boolean | false | Включает центрированный вид с частичными предыдущими / следующими слайдами. Используйте с нечетным номером слайдов ToShow. |
centerPadding | string | '50px' | Боковые отступы в центральном режиме (px или %) |
cssEase | string | 'ease' | CSS3 Animation Easing |
customPaging | function | n/a | Пользовательские шаблоны подкачки. Смотрите источник для примера использования. |
dots | boolean | false | Показать точечные индикаторы |
dotsClass | string | 'slick-dots' | Класс для контейнера точек индикатора слайда |
draggable | boolean | true | Включить перетаскивание мышью |
fade | boolean | false | Включить затухание |
focusOnSelect | boolean | false | Включить фокус на выбранный элемент (нажмите) |
easing | string | 'linear' | Добавьте ослабление для jQuery animate. Использовать с библиотеками замедления или методами по умолчанию |
edgeFriction | integer | 0,15 | Сопротивление при смахивании краев бесконечной карусели |
infinite | boolean | true | Бесконечный цикл скольжения |
initialSlide | integer | 0 | Слайд, чтобы начать |
LazyLoad | string | 'ondemand' | Установите ленивую технику загрузки. Принимает «по требованию» или «прогрессивный» |
mobileFirst | boolean | false | Адаптивные настройки используют мобильный первый расчет |
pauseOnFocus | boolean | true | Пауза автозапуска на фокусе |
pauseOnHover | boolean | true | Пауза автозапуска при наведении |
pauseOnDotsHover | boolean | false | Приостановка автозапуска при наведении точки |
respondTo | string | 'window' | Ширина, на которую реагирует реагирующий объект. Может быть «окно», «слайдер» или «мин» (меньшее из двух) |
responsive | object | none | Объект, содержащий точки останова и объекты настроек (см. Демонстрацию). Включает настройки для заданной ширины экрана. Установите настройки «unlick» вместо объекта, чтобы отключить slick в заданной точке останова. |
rows | int | 1 | Установка более 1 инициализирует режим сетки. Используйте slidesPerRow, чтобы установить, сколько слайдов должно быть в каждой строке. |
slide | element | '' | Элемент запроса для использования в качестве слайда |
slidesPerRow | int | 1 | С режимом сетки, инициализированным с помощью опции строк, это устанавливает, сколько слайдов в каждой строке сетки. Дверь |
slidesToShow | int | 1 | Количество слайдов для показа |
slidesToScroll | int | 1 | Количество слайдов для прокрутки |
speed | Int (мс) | 300 | Скорость анимации скольжения / затухания |
swipe | boolean | true | Включить смахивание |
swipeToSlide | boolean | false | Разрешить пользователям перетаскивать или проводить пальцем прямо к слайду независимо от слайдов ToScroll |
TouchMove | boolean | true | Включить движение слайдов одним касанием |
touchThreshold | int | 5 | Для продвижения слайдов пользователь должен провести пальцем по длине (1 / touchThreshold) * ширина слайдера |
useCSS | boolean | true | Включить / отключить CSS-переходы |
useTransform | boolean | true | Включить / отключить CSS-преобразования |
variableWidth | boolean | false | Слайды переменной ширины |
вертикальный | boolean | false | Режим вертикального скольжения |
verticalSwiping | boolean | false | Режим вертикальной прокрутки |
rtl | boolean | false | Измените направление ползунка, чтобы стать справа налево |
waitForAnimate | boolean | true | Игнорирует запросы на продвижение слайда во время анимации |
zIndex | number | 1000 | Установите значения zIndex для слайдов, полезно для IE9 и ниже |
Событие | Аргументы | Описание |
---|---|---|
afterChange | slick, currentSlide | Пожары после смены слайдов |
beforeChange | slick, текущий слайд, следующий слайд | Пожары перед сменой слайдов |
breakpoint | событие, slick, точка останова | Пожары после достижения точки останова. |
destroy | событие, slick | Когда слайдер уничтожен или не скользит. |
edge | slick, направление | Запускается, когда ребро прокручивается в бесконечном режиме. |
init | slick | Срабатывает после первой инициализации. |
reInit | slick | Срабатывает после каждой повторной инициализации |
SetPosition | slick | Пожары после изменения положения / размера |
swipe | slick, направление | Пожары после удара / перетаскивания |
lazyLoaded | событие, slick, изображение, imageSource | Срабатывает после загрузки изображения лениво |
lazyLoadError | событие, slick, изображение, imageSource | Срабатывает после того, как изображение не загружается |
Метод | Аргументы | Описание |
---|---|---|
slickCurrentSlide | none | Возвращает текущий индекс слайда |
slickGoTo | int: номер слайда, логическое значение: не анимировать | Переходит к слайду по индексу |
slickNext | none | Переходит к следующему слайду |
slickPrev | none | Переходит к предыдущему слайду |
slickPause | none | Паузы автовоспроизведения |
slickPlay | none | Запускает автозапуск |
slickAdd | HTML или DOM объект, индекс, addBefore | объект |
slickRemove | index, removeBefore | Если для removeBefore задано значение false, удалите указатель, следующий за слайдом, или последний слайд, если индекс не установлен. |
slickFilter | Селектор или функция | Фильтрует слайды, используя jQuery .filter () |
slickUnfilter | index | Удаляет примененную фильтрацию |
slickGetOption | опция: string | Получает индивидуальное значение параметра. |
slickSetOption | опция: string, значение: зависит от опции, refresh: логическое значение | Установите для параметра true значение true, если это обновление пользовательского интерфейса. |
unslick | none | Разрушает slick |
getSlick | none | Получить гладкий объект |
30/09/2022 23:50:27
17/07/2022 20:03:55
Доброго времени суток.
Не совсем понят, что вам нужно, если можете пришлите ссылку на сайт (если он опубликован в сети) или скриншоту, видео на почту mail@bezramok-tlt.ru
21/07/2022 12:04:50
$('.slider-detail-nav').on('swipe', function(event, slick, direction){
console.log(slick);
// left
});
Но нужен детальный разбор как это сделать. Может есть готовый код для этого?
08/05/2022 21:29:28
17/03/2022 17:45:45
Доброго времени суток!
Посмотрите пример с добавлением и удалением слайдов. Используйте таблицу медотов для реализации вашей задачи. Судя по вашему описанию, попробуйте использовать метод slickNext
18/03/2022 15:07:08
14/03/2022 18:03:41
Добрый день!
Пришлите на почту mail@bezramok-tlt.ru кусок HTML верстки сладера с главной страницы.
16/03/2022 12:14:14
02/02/2022 17:24:04
13/01/2022 17:49:39
Доброго времени суток.
Если я вас правильно понял, то вы не видите стрелочек слева и право. Если это так, то стрелочки белые и прозрачные их на белом фоне не видно. Если поводить курсором рядом со слайдом, то можно их "нащупать".
Я предполагаю, что у вас установлен слайдер корректно и стоят минимальные настройки $('.single-item').slick();
13/01/2022 18:00:09
$(document).ready(function(){
$('.histori__carousel').slick(
{
slidesToShow: 1,
centerMode: true,
centerPadding: '60px',
slidesToScroll: 1,
infinite: true,
speed: 700,
autoplay: true,
autoplaySpeed: 7000,
// variableWidth: true,
arrows: false,
responsive: [
{
breakpoint: 769,
settings: {
slidesToShow: 1,
dots: true,
arrows: false
}
}
]
}
);
});
15/12/2021 14:49:45