Привет, мне нужно обратиться к последнему слайду slick slider`а.
Есть такой код
$(document).ready(function(){
$(function carouselSetup() {
var $componentCarousel = $('.menu-content1'),
$items = $componentCarousel.find('.carousel-item');
var $slick = $componentCarousel.slick({
infinite: false,
speed: 500,
draggable: true,
slidesToShow: 3,
slidesToScroll: 3,
prevArrow: '<button type="button" class="slick-prev">prev</button>',
nextArrow: '<button type="button" class="slick-next">next</button>'
});
var $prevButton = $slick.find('.slick-prev');
var $nextButton = $slick.find('.slick-next');
$prevButton.hide();
$slick.on('beforeChange', function(event, slick, currentSlide, nextSlide) {
//console.log(nextSlide);
if (nextSlide === 0) {
$prevButton.hide();
}
if (nextSlide === slick.slideCount - 1) {
$nextButton.hide();
}
if (currentSlide === 0) {
$prevButton.show();
}
if (currentSlide === slick.slideCount - 1) {
$nextButton.show();
}
});
});
});
Слайдеры являются одним из ключевых элементов веб-дизайна. Они позволяют пользователю взаимодействовать с контентом на сайте, просматривать изображения и видео, а также улучшают визуальный опыт пользователя. На сегодняшний день существует множество различных слайдеров, которые могут быть легко интегрированы на сайт.
В этой статье мы рассмотрим 10 лучших jQuery слайдеров и 5 способов создать свой собственный.
1. Owl Carousel 2
Owl Carousel 2 – это один из самых популярных jQuery слайдеров на сегодняшний день. Он имеет множество настроек, позволяет добавлять анимации и контент, а также поддерживает адаптивный дизайн. Он также предоставляет поддержку для сенсорных устройств, что делает его идеальным выбором для мобильных устройств.
2. Flexslider 2
Flexslider 2 – это еще один популярный jQuery слайдер. Он предоставляет широкий набор настроек и анимаций, а также поддерживает адаптивный дизайн. Flexslider 2 также имеет дружественный пользовательский интерфейс, что делает его очень простым в использовании.
Пример использования Flexslider:
<div class="flexslider">
<ul class="slides">
<li>
<img src="image1.jpg" />
<h3>Заголовок 1</h3>
<p>Текст 1</p>
</li>
<li>
<img src="image2.jpg" />
<h3>Заголовок 2</h3>
<p>Текст 2</p>
</li>
<li>
<img src="image3.jpg" />
<h3>Заголовок 3</h3>
<p>Текст 3</p>
</li>
</ul>
</div>
$('.flexslider').flexslider({
animation: "slide",
slideshowSpeed: 3000,
animationSpeed: 1000,
controlNav: true,
directionNav: true,
pauseOnAction: false,
pauseOnHover: true,
});
В данном примере мы создали слайдер с классом flexslider, который содержит три слайда с изображениями и текстом. Затем мы инициализировали слайдер, вызвав метод flexslider() на элементе с классом flexslider и передав в качестве параметра объект настроек.
Здесь мы задали анимацию slide, скорость смены слайдов в автоматическом режиме равную 3 секундам (slideshowSpeed), скорость анимации смены слайдов вручную равную 1 секунде (animationSpeed), включили элементы управления (controlNav) и кнопки перехода на предыдущий и следующий слайды (directionNav), отключили автоматическую паузу слайдера при клике на кнопки управления (pauseOnAction) и включили паузу при наведении курсора мыши на слайдер (pauseOnHover).
Flexslider также имеет ряд дополнительных возможностей, таких как настройка адаптивности и использование различных эффектов анимации. В целом, данный плагин является простым в использовании и достаточно гибким, чтобы удовлетворить потребности большинства проектов.
3. Slick
jQuery слайдер Slick – это мощный и удобный инструмент для создания красивых и функциональных слайд-шоу на вашем веб-сайте. Он имеет широкий спектр настроек и опций, которые позволяют легко настраивать параметры слайдера под ваши индивидуальные потребности.
Одним из главных преимуществ Slick является его простота использования. Даже если вы не имеете опыта в создании слайд-шоу, вы сможете быстро разобраться в настройках Slick и создать красивый и функциональный слайдер всего за несколько минут.
Среди наиболее важных возможностей Slick можно выделить следующие:
- Адаптивный дизайн
Slick позволяет создавать адаптивные слайдеры, которые легко адаптируются к различным устройствам и экранам. Это особенно важно с учетом растущей популярности мобильных устройств и мобильного интернета.
- Разнообразные настройки
Slick имеет широкий спектр настроек и опций, которые позволяют настраивать скорость переходов, тип анимации, количество отображаемых слайдов, добавлять управляющие элементы и многое другое. Это позволяет создавать слайдеры, которые идеально соответствуют вашим потребностям и требованиям.
- Поддержка CSS3 анимаций
Slick поддерживает CSS3 анимации, что позволяет создавать более сложные и интересные эффекты переходов между слайдами. Это делает ваш слайдер более динамичным и привлекательным для пользователей.
- Поддержка тачскринов
Slick имеет полную поддержку тачскринов, что делает его идеальным инструментом для создания слайд-шоу на мобильных устройствах. С помощью свайпов пользователи могут быстро и легко переключаться между слайдами, что улучшает пользовательский опыт.
- Кроссбраузерность
Slick совместим со всеми современными браузерами, включая Chrome, Firefox, Safari, Opera и Internet Explorer. Это позволяет использовать слайдер на любых устройствах и операционных системах без каких-либо ограничений.
Slick – это отличный инструмент для создания красивых и функциональных слайдеров на вашем веб-сайте. Он позволяет быстро и легко создавать эффектные и удобные слайд-шоу, которые помогут привлечь внимание пользователей и повысить интерактивность вашего сайта.
Кроме того, Slick имеет множество дополнительных функций, которые делают его еще более удобным и эффективным инструментом. Например, вы можете использовать Slick для создания карусели, галереи изображений, слайдеров с миниатюрами и многое другое.
Slick также имеет множество дополнительных плагинов и расширений, которые позволяют расширить его функциональность и улучшить его возможности. Например, с помощью расширения Slick LazyLoad вы можете загружать изображения только тогда, когда они попадают в область видимости пользователя. Это позволяет ускорить загрузку страницы и снизить нагрузку на сервер.
Кроме того, Slick также имеет открытый исходный код, что делает его еще более привлекательным для разработчиков. Вы можете легко настраивать и расширять функциональность Slick, создавая свои собственные плагины и расширения.
В целом, Slick – это отличный инструмент для создания слайдеров на вашем веб-сайте. Он легок в использовании, имеет широкий спектр настроек и опций, а также поддерживает различные технологии, такие как CSS3 анимации и тачскрины. Если вы ищете удобный и эффективный способ создания слайдеров, то Slick – отличный выбор.
4. BXSlider
BXSlider – это плагин jQuery, который позволяет создавать адаптивные слайдеры с поддержкой касания и широким набором настроек. Он поддерживает горизонтальные, вертикальные и затухающие переходы и позволяет настроить скорость, эффект и направление анимации.
Одной из уникальных возможностей BXSlider является поддержка как изображений, так и HTML-контента, что позволяет создавать слайдеры с мультимедийными элементами. Он также включает функции, такие как автоматическое воспроизведение, управление клавиатурой и пагинацию.
Для использования BXSlider необходимо добавить соответствующие CSS и JavaScript файлы, а затем проинициализировать плагин, указав нужные настройки. Например, чтобы создать горизонтальный слайдер изображений с автоматическим воспроизведением, можно использовать следующий код:
<!-- HTML -->
<ul class="bxslider">
<li><img src="slide1.jpg" /></li>
<li><img src="slide2.jpg" /></li>
<li><img src="slide3.jpg" /></li>
</ul>
<!-- JavaScript -->
<script>
$(document).ready(function(){
$('.bxslider').bxSlider({
mode: 'horizontal',
auto: true,
pause: 5000,
speed: 1000,
pager: true,
controls: false
});
});
</script>
Это создаст слайдер с горизонтальными переходами между изображениями, которые автоматически переключаются через каждые 5 секунд. Стрелки управления скрыты, но доступна пагинация, которая показывает, сколько изображений есть в слайдере и позволяет переключаться между ними.
BXSlider – это мощный и гибкий инструмент для создания слайдеров, который позволяет вам легко добавлять визуальные элементы на ваш сайт. Он также имеет открытый исходный код и большое сообщество пользователей, что делает его отличным выбором для любого проекта веб-разработки.
5. Swiper
Swiper – это бесплатная библиотека с открытым исходным кодом, которая позволяет создавать адаптивные слайдеры для мобильных устройств и десктопов. Swiper имеет гибкие настройки и многочисленные возможности, такие как: автоматическая прокрутка, изменение скорости прокрутки, а также множество опций настройки внешнего вида слайдера.
Для создания слайдера на основе Swiper, необходимо подключить библиотеку к своему проекту, затем добавить разметку HTML для каждого слайда и инициализировать слайдер с помощью JavaScript. Пример разметки для слайда:
<div class="swiper-slide">
<img src="path/to/image.jpg" alt="Slide 1">
<div class="slide-caption">
<h2>Заголовок слайда</h2>
<p>Текст описания слайда</p>
</div>
</div>
Затем, с помощью JavaScript, мы инициализируем слайдер и настраиваем его опции:
var mySwiper = new Swiper('.swiper-container', {
loop: true,
autoplay: {
delay: 5000,
},
pagination: {
el: '.swiper-pagination',
clickable: true,
},
});
6. Slider Pro
Slider Pro – это мощный плагин для создания красивых и интерактивных слайдеров на вашем веб-сайте. Он предоставляет богатый функционал, который позволяет создавать различные типы слайдеров, такие как слайдер с изображениями, слайдер с видео, слайдер с контентом и многое другое. С помощью этого плагина вы сможете создавать красивые и функциональные слайдеры, которые сделают ваш веб-сайт более привлекательным и удобным для пользователей.
Основным преимуществом jQuery Slider Pro является его богатый функционал и простота использования. Плагин поставляется с большим количеством опций и настроек, которые позволяют настроить слайдер по своим потребностям. Вы можете легко настроить скорость переключения слайдов, анимацию, размеры и многое другое. Кроме того, jQuery Slider Pro имеет простой и интуитивно понятный интерфейс, что делает его доступным даже для начинающих пользователей.
7. RoyalSlider
RoyalSlider – это еще один популярный jQuery плагин для создания красивых и функциональных слайдеров на вашем сайте. Он имеет множество настроек и опций, позволяющих настроить каждый аспект слайдера под свои потребности.
Особенности RoyalSlider Одной из ключевых особенностей RoyalSlider является его поддержка сенсорных устройств, таких как смартфоны и планшеты. Это позволяет вашим пользователям легко просматривать ваши слайды на любом устройстве.
Кроме того, RoyalSlider обладает следующими возможностями:
- Адаптивный дизайн, который позволяет легко настроить размеры и внешний вид слайдера под любое устройство и разрешение экрана.
- Поддержка видео и картинок в слайдере, позволяющая создавать привлекательные и интерактивные слайды.
- Возможность добавления описания и ссылок на каждый слайд, что увеличивает удобство и функциональность вашего слайдера.
- Несколько стилей отображения слайдов, таких как слайды с боковой навигацией или слайды с точками внизу.
- Мощный API, позволяющий настроить и управлять слайдером с помощью JavaScript.
Использование RoyalSlider Чтобы начать использовать RoyalSlider, вам нужно загрузить плагин на свой сайт и подключить его к странице. Затем вы можете создать HTML-структуру для вашего слайдера и настроить его с помощью опций плагина.
Например, вот простой пример HTML-разметки для слайдера:
<div class="royalSlider">
<div class="royalSlider__item">
<img src="slide1.jpg" alt="Slide 1">
</div>
<div class="royalSlider__item">
<img src="slide2.jpg" alt="Slide 2">
</div>
<div class="royalSlider__item">
<img src="slide3.jpg" alt="Slide 3">
</div>
</div>
Затем вы можете настроить свой слайдер с помощью JavaScript-кода, например:
$('.royalSlider').royalSlider({
autoHeight: true,
arrowsNav: true,
fadeinLoadedSlide: true,
controlNavigationSpacing: 0,
controlNavigation: 'bullets',
loop: true,
imageScaleMode: 'fill',
navigateByClick: true,
startSlideId: 0,
keyboardNavEnabled: true,
autoPlay: {
enabled: true,
pauseOnHover: true,
delay: 3000
},
transitionType: 'fade'
});
8. Tiny Slider
Tiny Slider – это очень легкий и быстрый слайдер, который предоставляет множество опций для управления внешним видом и поведением слайдера. Он легко настраивается и поддерживает бесшовную адаптивность, что делает его отличным выбором для мобильных устройств. Кроме того, Tiny Slider имеет небольшой размер и быстро загружается на странице.
Шаг 1: Подключение библиотеки
Перед тем, как начать создавать слайдер, необходимо подключить библиотеку Tiny Slider. Это можно сделать, добавив ссылку на файл библиотеки в тег <head> вашей веб-страницы:
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.3/tiny-slider.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.3/min/tiny-slider.js"></script>
</head>
Шаг 2: Создание HTML разметки
Далее, создадим HTML разметку для нашего слайдера. В этом примере мы будем использовать следующую разметку:
<div class="slider">
<div class="slider-item">
<img src="https://via.placeholder.com/350x150" alt="Slide 1">
</div>
<div class="slider-item">
<img src="https://via.placeholder.com/350x150" alt="Slide 2">
</div>
<div class="slider-item">
<img src="https://via.placeholder.com/350x150" alt="Slide 3">
</div>
</div>
Шаг 3: Инициализация слайдера
Теперь мы можем инициализировать наш слайдер, используя JavaScript. Для этого мы создадим новый экземпляр класса tns и передадим ему объект с настройками слайдера:
<script>
var slider = tns({
container: '.slider',
items: 1,
slideBy: 'page',
autoplay: true,
nav: true,
navPosition: 'bottom',
controls: false,
autoplayButtonOutput: false
});
</script>
В этом примере мы использовали следующие настройки:
- container: указывает на контейнер, в котором расположены элементы слайдера.
- items: количество отображаемых элементов на одной странице.
- slideBy: количество элементов, на которые нужно сдвинуть слайдер при переходе.
- autoplay: автоматическое переключение слайдов.
- nav: отображение кнопок навигации.
- navPosition: позиция кнопок навигации.
- controls: отображение кнопок управления.
- autoplayButtonOutput: отображение кнопки автоматического воспроизведения.
Шаг 4: Настройка стилей Наконец, мы можем настроить стили нашего слайдера, чтобы он выглядел как мы хотим. Для этого можно использовать CSS. Например, мы можем добавить следующие стили:
.slider {
max-width: 600px;
margin: 0 auto;
}
.slider-item {
height: 150px;
}
.slider-item img {
max-width: 100%;
}
Эти стили зададут максимальную ширину слайдера, высоту элементов слайдера и максимальную ширину изображений внутри элементов слайдера.
Шаг 5: Добавление дополнительных настроек Если вы хотите добавить дополнительные настройки для вашего слайдера, то это можно сделать, используя объект настроек tns:
<script>
var slider = tns({
container: '.slider',
items: 1,
slideBy: 'page',
autoplay: true,
nav: true,
navPosition: 'bottom',
controls: false,
autoplayButtonOutput: false,
responsive: {
640: {
items: 2
},
768: {
items: 3
},
992: {
items: 4
}
},
mouseDrag: true,
swipeAngle: false
});
</script>
В этом примере мы добавили следующие дополнительные настройки:
- responsive: позволяет настроить отображение слайдера для разных разрешений экранов.
- mouseDrag: позволяет переключать слайды с помощью перетаскивания мыши.
- swipeAngle: определяет угол, при котором будет происходить переключение слайдов при свайпе на мобильных устройствах.
Шаг 6: Завершение Вот и все! Теперь у вас есть полностью настроенный слайдер, который вы можете использовать на вашем веб-сайте. Конечно, это только начало, и вы можете дальше настраивать ваш слайдер и добавлять дополнительные функции для улучшения пользовательского опыта на вашем сайте.
9. Cycle2
“Cycle2” – это мощный и гибкий jQuery слайдер, который позволяет создавать сложные и эффектные слайд-шоу на вашем веб-сайте. Он имеет множество настроек и опций, которые позволяют настраивать такие параметры, как скорость переходов, типы анимации, автоматическое переключение и многое другое.
Преимущества Cycle2:
- Легкость использования
Cycle2 имеет очень интуитивно понятный интерфейс, который позволяет быстро и легко создавать слайд-шоу. Для того чтобы начать использовать слайдер, нужно лишь подключить необходимые библиотеки и вызвать метод инициализации в JavaScript-коде.
- Настраиваемость
Cycle2 имеет большое количество опций и настроек, которые позволяют полностью настроить внешний вид и функциональность слайдера. Вы можете выбрать тип анимации, настроить время переходов между слайдами, добавить управляющие элементы, настроить автоматическое переключение слайдов и многое другое.
- Адаптивность
Cycle2 имеет респонсив-дизайн и легко адаптируется под различные устройства и разрешения экрана. Вы можете настроить количество отображаемых элементов в слайдере в зависимости от размера экрана, а также добавить управляющие элементы, которые позволят пользователю легко переключаться между слайдами.
- Кроссбраузерность
Cycle2 полностью совместим со всеми современными браузерами, включая Chrome, Firefox, Safari, Opera и Internet Explorer. Это позволяет использовать слайдер на любых устройствах и операционных системах без каких-либо ограничений.
Слайдер “Flickity” – это еще один популярный jQuery инструмент, который позволяет создавать красивые и функциональные слайд-шоу на вашем веб-сайте.
10. Flickity
Слайдер “Flickity” – это еще один популярный jQuery инструмент, который позволяет создавать красивые и функциональные слайд-шоу на вашем веб-сайте.
Преимущества Flickity:
- Адаптивность
Flickity имеет респонсив-дизайн и легко адаптируется под различные устройства и разрешения экрана. Он позволяет настроить количество отображаемых элементов в зависимости от размера экрана, а также поддерживает свайпы на сенсорных устройствах.
- Бесшовность
Flickity имеет возможность бесшовного переключения слайдов, что позволяет создавать очень красивые и плавные анимации переходов между слайдами.
- Настраиваемость
Flickity имеет множество опций и настроек, которые позволяют настроить внешний вид и функциональность слайдера под конкретные потребности проект. Вы можете выбрать тип анимации, настроить время переходов между слайдами, добавить управляющие элементы, настроить автоматическое переключение слайдов и многое другое.
- Поддержка тачскринов
Flickity имеет поддержку тачскринов, что делает его идеальным инструментом для создания слайд-шоу на мобильных устройствах. С помощью свайпов пользователи могут быстро и легко переключаться между слайдами.
- Кроссбраузерность
Flickity полностью совместим со всеми современными браузерами, включая Chrome, Firefox, Safari, Opera и Internet Explorer. Это позволяет использовать слайдер на любых устройствах и операционных системах без каких-либо ограничений.
Оба этих слайдера имеют множество преимуществ и могут быть использованы для создания красивых и функциональных слайд-шоу на вашем веб-сайте. Выбор между ними зависит от ваших индивидуальных потребностей и предпочтений, а также от конкретных особенностей вашего проекта. Но в любом случае, использование jQuery слайдеров является отличным способом сделать ваш сайт более привлекательным и интерактивным для пользователей.
Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Сегодня хочу поговорить на тему создания слайдеров для своего сайта. С помощью них можно не только вставлять иллюстрации в статьи (слайд шоу), но и использовать их для очень наглядного и удобного предоставления информации о своем сайте. Так многие коммерческие проекты (например, онлайн сервисы) используют слайдеры на главной странице для того, чтобы посетители могли быстро понять, куда они попали и что могут здесь получить.
Так уж мы устроены, что графическую информацию воспринимаем лучше, чем текстовую, а смена информационных блоков в слайдере позволяет привлечь к нему дополнительное внимание пользователей. Можно сказать, что Slider стал необходимым атрибутом в дизайне современных сайтов, особенно если вам требуется в сжатом виде рассказать о себе до того момента, как пользователю захочется закрыть страницу.
Обычно слайдер состоит из нескольких графических изображений, которые в свою очередь могут быть либо фотографиями, либо, что бывает чаще, содержат еще и текстовые составляющие, а так же кнопки, позволяющие вручную переходить между кадрами (иногда еще и маркеры бывают, чтобы понимать какой слайд сейчас демонстрируется). Ну, чего я вам рассказываю, вы и сами все это видели и продолжаете наблюдать в рунете.
В буржунете же тяготение к использованию способа подачи информации в виде Slider началось намного раньше, но и до нас эта волна докатилась спустя годы, ибо мы довольно прилично отстаем от запада. Большие картинки на главной странице с крупными и понятными заголовками, а также небольшими текстами стали уже и для нас привычны. Остается только понять, как все это великолепие реализовать у себя на сайте.
Преимущества создания слайдера именно в WOW Slider
На самом деле ничего выдумывать вам и не придется. Нет, конечно же, можно попробовать сконструлить подобную конструкцию и самому, но зачем изобретать велосипед, когда все уже сделали за нас. Остается только попробовать все это на практике и решить что именно вам подойдет больше всего.
В силу конечного объема публикации я не смогу осветить весь спектр имеющихся решений, но думаю, что и этого будет достаточно для реализации большинства задач. Если вы сами открыли для себя что-то стоящее в области бесплатных слайдеров для сайта, то я и другие читатели будем вам признательны, если поделитесь ссылочкой или хотя бы названием.
Существует несколько вариантов использования слайдеров. Это могут быть плагины для движка сайта, который вы используете (например, для Вордпресса или Joomla). Есть решения для ручной установки, когда вам самим придется чуток полазить в коде, ну и еще есть универсальные варианты, которые все это в себе совмещают.
Начать описание я как раз и хочу с такого вот универсального решения, которое называется WOW Slider. Решение, которое предложили разработчики этой программы (да, да, это действительно десктопная софтина, а не онлайн сервис или серверный скрипт), отличается как оригинальностью, так и универсальностью.
- Во-первых, это программа (для Виндовс и Мака), которая представляет из себя довольно гибкий конструктор слайдеров. Можно будет выбирать из десятков готовых шаблонов и вариантов перехода между кадрами, а также задать множество других важных и не очень параметров. Глянуть на все это многообразие одним глазком можно на странице Демо.
- На каждый слайд можно будет, при желании, добавить появляющуюся надпись, а также ссылку со всех входящих в слайд-шоу изображений. Последнее может пригодиться, например, для описания возможностей онлайн сервиса, где ссылки будут вести на страницы с полным мануалом. Можно будет еще сделать и слайдер наиболее читаемых в вашем блоге материалов или что-то подобное.
- WOWSlider умеет делать странное — публиковать созданное слайдшоу в плагин для Вордпресса. Т.е. он создает архив, который потом используется для установки плагина через админку этого блогового движка. Сам слайдер после установки этого расширения можно будет вставлять в статьи с помощью коротких кодов.
- Для публикации в Joomla эта программа создает архив модуля, который устанавливается стандартным образом из админки.
- Но плагины и модули это не всегда хорошо, ибо они создают дополнительную нагрузку на сервер. Поэтому мне больше нравится вариант сохранения Slider в папку на компьютере, которую потом можно перекинуть на сервер по ФТП и вставлять слайд шоу в нужное место с помощью фреймов (тега Iframe).
- Есть еще возможности у данной программы, но их в силу описанных ниже причин я бы не стал использовать.
Теперь о грустном. WOW Slider стоит денег и довольно много, на мой взгляд. Правда, имеется бесплатная и практически полнофункциональная версия программы (нет только возможности добавлять водяные знаки в слайд шоу). Но тут нас опять же поджидает печаль — бесплатная версия добавляет на кадры формируемого слайдшоу водяной знак WOWSlider, а также открытую ссылку ведущую на сайт разработчиков.
Если с первой неприятностью можно было бы смириться, ибо водяной знак совсем маленький, то с открытой ссылкой кто-то может и не согласиться. Остается только оплатить программу, если вам ужасно понравились создаваемые ее слайд шоу, ну или ввести в поисковую строку Яндекса или Гугла соответствующий запрос и посмотреть имеющиеся решения озвученной проблемы. Однако, я вам ничего такого не говорил.
Итак, для того, чтобы скачать бесплатную версию WOW Slider, вам нужно будет на приведенной странице указать свое имя и Емайл, на который, собственно, и придет ссылка для скачивания этой программы. Установка обычная. После запуска можно переключить интерфейс на русский язык (в Options) и, собственно, моя помощью вам больше будет не нужна, ибо все очень просто и наглядно.
Создание слайд-шоу в WOW Slider и его вставка на сайт
Можно сказать, что весь процесс создания слайдера для сайта состоит из трех шагов:
- Добавление картинок для слайд-шоу (можно перетащить их мышью, найти в папке или онлайн сервисе хранения, аля Пикаса или Фликр), их обзывание и при необходимости прикручивание к ним ссылок на какие-либо страницы вашего или чужого сайта (можно даже задать, чтобы они открывались в новом окне).
Когда все кадры для будущего слайдера добавите, обзовете и обссылите (добавите ссылки на картинки и выберите способ их открывания), выберите шаблон и эффект перехода, то можете смело жать на кнопку с гаечным ключом в верхней панели инструментов.
-
На вкладке «Основные» просмотрите все возможные параметры и расставьте галочки в зависимости от ваших предпочтений. Потом переходите на вкладку «Дизайн» где можно поиграться с шаблонами и эффектами будущего слайд-шоу.
Не забудьте выбрать размер для слайдера, чтобы он идеально подходил к ширине ваших страниц. Кстати, программа WOWSlider обрежет все исходные фотки до требуемого размера, что является большим плюсом, ибо будут грузиться гораздо более легкие графические файлики, чем оригиналы. Все более чем понятно и прозрачно.
Если разбираться лень, то посмотрите «быстрый старт» от разработчиков:
- Переходите на вкладку «Опубликовать». Вот тут дело обстоит чуток посложнее.
На выбор вам предлагается довольно много вариантов публикации данного слайдшоу. Основными из них, на мой взгляд, являются сохранение в папку, а также создание плагина слайдера для Вордпресса и модуля для Joomla.
Плагин и модуль будут очень удобны тем, кто еще не достаточно освоился с сайтом и побаивается что-то копировать на сервер и влезать в файлы. Но все же первый вариант самый универсальный. Давайте поговорим о публикации чуть подробнее.
Вставка слайд-шоу на сайт с помощью плагина для ВордПресс
В силу ограниченного размера этой публикации я разберу лишь создание плагина для Вордпресса и добавления слайдера на страницы своего сайта с помощью фреймов. Кстати, про работу с плагином на сайте разработчиков имеется довольно-таки подробный ролик (остальные десятки видеороликов по работе с WOW Slider вы найдете по приведенной ссылке):
Если говорить вкратце, то нужно сделать следующее:
- Опубликовать созданный слайдер как плагин для Вордпресса, выбрав на показанном выше скриншоте соответствующий вариант и задать папку его сохранения. Нажать кнопку «Опубликовать».
- Зайти в админку своего блога на вкладку «Плагины» — «Добавить новый» — «Загрузить». Найти папку с архивом плагина, который вам только что создал WOW Slider, и установить его стандартным образом, а затем активировать (читайте про установку плагинов в Вордпресс и решение возникающих при этом проблем).
- Его вкладка появится в самом низу левой колонки и будет состоять из двух пунктов. Сейчас нам понадобится первый «All Sliders», где будет иметь место упоминание о созданном нами в программе слайдер. Здесь же вы сможете скопировать короткий код, который нужно будет добавить в нужное место статьи, чтобы там отобразилось созданное вами в WOWSlider слайд-шоу.
Короткий код будет выглядеть примерно так:
[[wowslider id="3"]]
-
Встает вопрос, а как добавить в WordPress еще несколько слайдеров? Опять создавать и устанавливать плагин? И да, и нет. Плагин в программе WOWSlider создаете точно так же, но вот в админке Вордпресса заходите на вторую вкладку плагина «Add New». Нажимаете на кнопку «Выберите файл» и находите только что созданный в программе плагин на своем компьютере, после чего жмете на кнопку «Add Now».
Все, на вкладке плагина «All Sliders» появится еще одна строчка и еще один короткий код для вставки нового слайдшоу.
Вставка слайдера на любой сайт без плагина
Однако, любой плагин это не есть хорошо и лучше стараться обходиться без них, тем более, что сделать это совсем не сложно применительно к WOW Slider. Для этого достаточно выбрать вариант публикации «В папку» и перекинуть ее потом по ФТП на свой сервер (хостинг). Почему же тогда сразу не выбрать вариант «Опубликовать на FTP сервер»? А потому, что боязно. Сейчас поясню.
Примерно год назад у меня началась эпопея с заражением всех моих сайтов вирусами и поиском корня этого зла. Оказалось, что просто-напросто были вытащены все пароли из используемого мною ФТП менеджера FileZilla. Это сейчас я его усилил с помощью менеджера паролей KeePass и путем небольших доработок описанных в этой же статье, а тогда он был беззащитен перед взломом, ибо хранил пароли незашифрованными.
Вот и ФТП менеджеру, встроенному в WOWSlider, я не склонен доверять. Поэтому сохраняем созданный слайдер для сайта в папку на компьютере, подключаемся по ФТП с помощью связки Файлзилы и Кипаса (см. приведенные статьи и не манкируйте безопасностью), ну и кидаем папку со слайд-шоу в любое удобное для вас место. Я выбрал, например, такое:
wp-content/uploads/
Вот, собственно, и все. Осталось только понять, а как же вставлять данное слайд-шоу на страницы нашего сайта или блога. Тут нам пригодится замечательная технология Html фреймов, а именно Iframe (ее современная инкарнация). Если сами тег Frame использовать уже не рекомендуется, то Iframe очень даже рекомендуется. Например, вставка видео с Ютуба происходит именно с его помощью.
Кстати, необходимый код вы как раз можете взять в одном из файлов, который обитает в сохраненной из WOW Slider папке. Он называется iframe_index.html и живет в ее корне. Правда там нужно будет изменить путь до файла index.html с относительного на абсолютный, чтобы получилось примерно так:
<iframe src="https://ktonanovenkogo.ru/wp-content/uploads/122/index.html" style="width:715px;height:360px;max-width:100%;overflow:hidden;border:none;padding:0;margin:0 auto;display:block;" marginwidth="0"></iframe>
Если я вставлю данный код прямо в текст этой публикации (причем не важно, будет ли у вас включен визуальных редактор или нет, ибо это чисто Html код, который не будет вырезаться ни в коем разе) чуть ниже, то получу отображение слайдера на сайте, живущего в недрах скопированной по ФТП папке:
И никакого плагина устанавливать при этом не надо. Более того, вы можете скопировать этот код с Iframe к себе на сайт и слайдшоу у вас прекрасно будет работать. Замечательный, на мой взгляд, способ, существенно превосходящий тот, что требует использования плагина.
Возможно, что я выбрал не оптимальный шаблон и способ перехода в настройках WOW Slider (просто случайные взял), но это не суть. Внизу отображаются те самые маркеры, которые позволяют понять, какой именно кадр слайд-шоу сейчас отображается, и даже позволяют посмотреть на миниатюры других слайдов. Имеются кнопки для пролистывания, но и открытая ссылка на сайт разработчиков тоже имеет место быть, что не есть гуд, но вполне терпимо, тем более что…
Плагины для WordPress для вывода слайдшоу на своем блоге
Вариантов слайдеров для WordPress реализованных в виде плагинов довольно много и все их упомянуть не получится, поэтому попробую пробежаться галопом по Европам и коротенечко их охарактеризовать:
-
Meta Slider — довольно интересный плагин, который объединяет в себе функционал аж четырех популярных расширений этого формата, а именно: Nivo Slider, Flex Slider, Coin и Responsive. Каждый из упомянутых слайдеров хорош по своему и благодаря Meta вы сможете попробовать все четыре разом, установив всего лишь один плагин. Имеется довольно-таки подробный ролик по работе с ним:
Интерфейс не имеет русской интерпретации, но браузер Хром с его встроенным переводом вам поможет. В общем-то все просто. В левой части вы сможете загрузить и отсортировать изображения, добавить к ним Тайтлы и даже ссылки на каждый слайд.
Ну, а справа вы сможете выбрать один из четырех вариантов скрипта (Nivo, Flex, Coin и Responsive), задать размер области со слайд-шоу, выбрать шаблоны и эффекты.
В общем-то получается все то же самое, что и в программе WOWSlider, но только в интерфейсе админки Вордпресса. Что примечательно, на страницы блога слайдер вставляется опять же с помощью коротких кодов, которые можно скопировать в самом низу левой колонки с настройками.
Имеет место быть платная версия Meta Slider, где будет доступен довольно прикольный эффект появления отдельных изображений или текстов на одном слайде и возможность вставлять видео в кадры, ну и слайдер постов вашего блога сделать будет можно, что может пригодиться.
- Slideshow — имеет русский интерфейс, позволяет выводить изображения и тексты со ссылками, а также видео. Слайд-шоу можно вставлять посредством коротких кодов в статьи, либо с помощью php кода в шаблон. Есть у него и виджет, который позволит отображать слайдер в сайдбаре.
- Meteor Slides — популярное слайдшоу для WordPress. Классическая карусель с возможность вставки ее в виджет, в шаблон вашего блога с помощью PHP кода и в текст статьи с помощью кода короткого.
- Fotorama — это слайдшоу создал наш с вами соотечественник и оно практически ничем не уступает упомянутым выше аналогам. Вообще, чтобы понять какой именно плагин вам лучше всего подойдет, их надо по крайней мере все попробовать, а потом уже удалить лишние.
Данный плагин прежде всего подкупает простотой и элегантностью вставки и настройки слайдера (если выбрать вариант с маркерами) или слайд-шоу (если выбрать вариант с миниатюрами). Имеется подробнейшая документация по различным дополнительным атрибутам, которые откроют перед вами поистине безграничные возможности.
- Revolution Slider — еще одно очень не плохое решение из той же когорты (платных плагинов для WordPress). Стоит он чуток подешевле, но возможностей у него похоже будет даже побольше, чем у предыдущего варианта. Возможно, что это одно из лучших решений для реализации слайд-шоу у себя на сайте. Есть ролик с подробным описанием работы с этим плагином.
- Related Posts Slider — это не обычное слайдшоу, а именно слайдер контента, который в купе с Yet Another Related Posts позволяет реализовать в WordPress довольно-таки прикольные «Похожие материалы». Возможно, что тут он не совсем к месту, но все же штука прикольная.
Надеюсь, что вы тоже поделитесь со мною и читателями плагинами, которые используете или могли бы посоветовать использовать для реализации различного рода слайдшоу на сайте. Буду рад добавить их в этот список. Спасибо.
Где взять Slideshow для Joomla и любого другого движка
Если говорить про расширения для Joomla, которые помогают добавить слайдер или слайдшоу на свой сайт, то тут выбирать, на мой взгляд, гораздо проще, ибо их копилка расширения довольно-таки функциональна и практически везде имеет место быть ссылка на демо страницу.
Собственно, jQuery Slideshow можно оценить по приведенной ссылке. Например, страница уже упомянутого ранее Nivo Slider позволяет получить профессиональное расширение, выполненное на базе этого скрипта, правда распространяется оно за денежку.
Если судить по демо, то выглядит все очень даже презентабельно:
Думаю, что вы сами в состоянии пройтись по списку Joomla-слайдеров и решить, какой из них использовать. Наверное, стоит начать рассмотрение с бесплатных, а уже при отсутствии достойных для решения ваших задач вариантов обращаться к платным решениям.
Однако, продолжим. Итак, мы с вами рассмотрели два типа конструкторов — в виде десктопной программы и в виде расширения для движка сайта. Их основное преимущество — админка, где можно поставить галочки в нужных местах или выбрать нужный вариант из выпадающего списка. С этим может справится любой, даже совсем не подготовленный пользователь.
Но в сети можно встретить и универсальные скрипты слайдеров, которые можно прикрутить к своему сайту и заставить делать то, что вы от них хотите, но для этого придется лезть в код, подключаться с сайту по ФТП, копаться в документации к скрипту (если таковая имеет) — в общем придется шевелить мозгами, а зачастую и танцевать с бубном.
Когда-то мне такое занятие нравилось, но сейчас не так много свободного времени, чтобы тратить его на создание велосипеда, когда можно прикрутить плагин и заняться чем-то более важным. Однако, этот способ реализации слайд-шоу имеет и свои преимущества, ибо не нужно усложнять жизнь хостингу лишними плагинами и можно почувствовать себя реально умным, справившись со всей этой машинерией.
Все приведенные далее скрипты работают благодаря библиотеке jQuery, поэтому нужно позаботиться о ее подгрузке. Также нужно будет подгружать из хедера и сам скрипт, и его CSS стили.
В нужное место текста статьи или в шаблон сайта нужно добавить Html список со слайдами (картинками), который с помощью джаваскрипта будет трансформироваться в слайдер. Все это не так уж и просто для новичка и одновременно очевидно для продвинутого пользователя.
Списки различных скриптов слайдеров можно найти на разных ресурсах. Лично мне повторяться не хочется и лишь приведу некоторые из них, а остальные вы сможете найти и сами:
- Slideshow & Scroller — очень большой выбор скриптов слайд-шоу и всевозможных скроллеров. Для каждого из них имеется отдельная страница с описанием, ссылкой на демо страницу и возможностью скачать исходники.
- Codecanyon.net — сборник платных решений. Как правило, цена не слишком высока и колеблется в районе от нескольких до нескольких десятков долларов. Естественно, что имеются демонстрационные страницы и скриншоты:
После оплаты скрипта вам будет доступна и вся необходимая документация по установке и настройке слайдера.
- 30 слайдеров контента на jQuery — есть ссылки на демо и на скачивание, а также картинки для представления, о чем идет речь. Что примечательно, сам ресурс живет на домене народа, который сейчас, как известно, переехал под крыло юкоза.
Лично мне больше всего импонирует показанный выше вариант вставки слайдшоу с помощью тегов iframe. В этом случае вы настраиваете скрипт под свои нужны на компьютере, создаете нужный Html файлик (его можно будет открыть в браузере для проверки работоспособности), добавляете нужные фотки в соответствующие папки и закидываете все это добро на сервер своего хостинга в любое удобное место.
Ну, а потом подгружаете эту созданную Html страницу с помощью iframe в любое нужное место. В этом случае вам не нужно будет подключать jQuery, скрипт слайдера и его CSS файлы ко всем страницам своего сайта, что может снизить скорость его работы. Все эти вещи вы подключите исключительно на созданной Html страничке, которую будете выводить во фрейме.
FlexSlider — пример вставки на сайт слайдера на jQuery
Давайте для примера возьмем известный скрипт слайдера FlexSlider, скачать который можно по приведенной ссылке. После распаковки архива, в папке flexslider вы обнаружите файлик index.html (это та самая Html страничка), в котором уже подключены библиотека jQuery, файлик со стилями и файлик, собственно, с самим скриптом:
<link rel="stylesheet" href="css/flexslider.css" type="text/css" media="screen" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script defer src="js/jquery.flexslider.js"></script>
Чуть ниже еще идет код инициализации:
<script type="text/javascript"> $(function(){ SyntaxHighlighter.all(); }); $(window).load(function(){ $('.flexslider').flexslider({ animation: "slide", start: function(slider){ $('body').removeClass('loading'); } }); }); </script>
А еще ниже как раз и формируется тот самый Html список, которому суждено переродиться в слайд-шоу:
<div id="container" class="cf"> <div id="main" role="main"> <section class="slider"> <div class="flexslider"> <ul class="slides"> <li> <img src="img/kitchen_adventurer_cheesecake_brownie.jpg" /> </li> <li> <img src="img/kitchen_adventurer_lemon.jpg" /> </li> <li> <img src="img/kitchen_adventurer_donut.jpg" /> </li> <li> <img src="img/kitchen_adventurer_caramel.jpg" /> </li> </ul> </div> </section> </div> </div>
Вам только останется загрузить свои картинки в папку img и прописать их названия в упомянутом списке файла index.html. Размеры слайдера, как я понял, можно поменять в CSS файлике, а вот остальные настройки живут уже в джаваскрипт файлике jquery.flexslider.js (в его конце) из папки js.
//FlexSlider: Default Settings $.flexslider.defaults = { namespace: "flex-", //{NEW} String: Prefix string attached to the class of every element generated by the plugin selector: ".slides > li", //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril animation: "fade", //String: Select your animation type, "fade" or "slide" easing: "swing", //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported! direction: "horizontal", //String: Select the sliding direction, "horizontal" or "vertical" reverse: false, //{NEW} Boolean: Reverse the animation direction animationLoop: true, //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end smoothHeight: false, //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode startAt: 0, //Integer: The slide that the slider should start on. Array notation (0 = first slide) slideshow: true, //Boolean: Animate slider automatically slideshowSpeed: 7000, //Integer: Set the speed of the slideshow cycling, in milliseconds animationSpeed: 600, //Integer: Set the speed of animations, in milliseconds
По английски разумеете? Тогда проблем с настройкой не возникнет. Ну, и последним шагом будет вставка в текст статьи подобного фрейма:
<iframe src="/wp-content/uploads/flexslider/index.html" style="width:658px;height:425px;max-width:100%;overflow:hidden;border:none;padding:0;margin:0 auto;display:block;" scrolling="no" marginheight="0" marginwidth="0"></iframe>
Как видите, тут все значительно сложнее, нежели при использовании плагина или программы WOW Slider, но зато интереснее. Ведь правда же?
Рассмотрим простой способ вставки презентации на сайт с возможностью ее просмотра в интерактивном режиме.
СОДЕРЖАНИЕ
Способы вставки презентации на сайт
Вставка интерактивной презентации PowerPoint на сайт
Загрузка на диск OneDrive
Получаем код презентации – способ 1
Получаем код презентации – способ 2
Вставляем код презентации на сайт
Вставленная презентация
Заключение
Видеоверсия
Способы вставки презентации на сайт
Для того, чтобы поделиться презентацией PowerPoint на сайте можно прикрепить файл презентации к статье. Проще некуда. Вот только посмотреть ее смогут только те пользователи, у кого есть программа PowerPoint. Можно, конечно, прикрепить презентацию в формате демонстрации и дать ссылку на бесплатный проигрыватель. Но зачем такие сложности, если можно сделать более эффектно: опубликовать интерактивную презентацию прямо на странице сайта.
Для того, чтобы вставить интерактивную презентацию можно воспользоваться различными сервисами, которые позволяют это сделать. Например, сервис SlideShare позволяет загрузить презентацию PowerPoint, а затем получить код для вставки презентации на сайт. Есть другие подобные сервисы. Также можно воспользоваться сервисом Google Slides, который тоже позволяет загружать презентации PowerPoint, преобразовывать их в формат Google презентаций и генерировать код для вставки на сайт.
Но есть способ вставки кода презентации на сайт от Microsoft. И тоже бесплатный!
Итак, предположим, что у нас есть презентация, которую мы сделали на компьютере в программе PowerPoint. Алгоритм вставки презентации будет такой.
- Загружаем презентацию на диск OneDrive, который предоставляет Microsoft.
- Получаем код презентации.
- Вставляем код презентации на сайт.
Теперь более детально рассмотрим все шаги.
Загрузка на диск OneDrive
OneDrive – это облачное хранилище от компании Microsoft. Зарегистрированный пользователь получает 5 Гб дискового пространства бесплатно, а также различные инструменты, которые доступны для работы бесплатно: Word, PowerPoint, Excel и другие. Подробнее об этом можно посмотреть здесь.
Для загрузки переходим по ссылке https://onedrive.live.com/ . Если нет аккаунта, то сначала регистрируемся.
В панели файлов кликаем правой кнопкой мыши для вызова контекстного меню.
В появившемся меню кликаем Добавить — Файлы:
В открывшемся проводнике отмечаем нужный файл и кликаем Открыть:
Видим загруженную презентацию на диске:
Получаем код презентации – способ 1
Для того, чтобы получить код для вставки презентации на сайт кликаем по презентации правой мыши и выбираем пункт Внедрение:
На появившейся панели выбираем Создать:
И получаем код для вставки:
Получаем код презентации – способ 2
Есть другой способ получить код вставки. Сначала открываем презентацию. И уже в презентации получаем код.
На диске OneDrive открываем презентацию кликом левой кнопкой мыши. Либо правой кнопкой мыши вызываем контекстное меню и кликаем Открыть в PowerPoint Online:
Заходим в меню Файл:
В разделе Общий доступ кликаем Внедрение:
Выбираем подходящий размер для вставки и получаем код:
Вставляем код презентации на сайт
Полученный одним из способов, описанных выше, код копируем и вставляем на сайт:
Получаем вставленную на сайт презентацию с возможностью просмотра в интерактивном режиме:
Вставленная презентация
Заключение
Мы рассмотрели способ публикации презентации на странице сайта с использованием сервиса PowerPoint Online.
Доступ к презентации PowerPoint Online можно получить с любого устройства, подключенного к интернет.
Видеоверсия
В этой статье разберём, как подключить на сайт простой адаптивный слайдер ItcSlider
, написанный на чистом CSS и JavaScript. Рассмотрим его HTML-структуру и настройку под разные размеры экрана.
Демо слайдера
1. С одним активным слайдом без зацикливания:
Посмотреть
2. С одновременным показом 3 слайдов:
Посмотреть
3. С зацикливанием:
Посмотреть
4. С индикаторами и автоматической сменой слайдов через 7 секунд:
Посмотреть
5. Слайдер для ротации статей (из дополнительных опций – он обновляет своё состояние при изменении размеров окна браузера):
Посмотреть
6. Слайдер в модальном окне:
Посмотреть
7. Несколько слайдеров на странице:
Посмотреть
Другие примеры:
- размещение слайдеров во вкладках таба (открыть);
- с отступами между элементами.
Что такое ItcSlider?
ItcSlider – это легкий адаптивный слайдер для сайта, написанный на чистом JavaScript без каких-либо зависимостей.
Характеристики и особенности слайдера:
- использует flexbox для вёрстки слайдов;
- сетка слайдов настраивается с помощью чистого CSS;
- не требует никаких библиотек JavaScript, таких как jQuery, что делает его легким и быстрым;
- содержит минимально необходимые элементы для навигации: кнопки и индикаторы;
- режим бесконечной прокрутки, включение которого позволяет сделать слайдер зацикленным;
- автозапуск, для автоматического воспроизведения или иными словами смены слайдов через определённые промежутки времени;
- перелистывание слайдов смахиванием (swipe) для устройств с сенсорным экраном, а также движением мышью.
Режим зацикленности в ItcSlider, в отличие от других популярных каруселей, например, такик как slick, Splide, Swiper, owlCarousel выпрлняется без создания дублей элементов. То есть, этот слайдер не создаёт копию последнего элемента для его вставки перед первым и первого – для его размещения после последнего.
Слайдер ItcSlider – это проект с открытым исходным кодом под лицензией MIT. Его можно использовать совершенно бесплатно. Исходные коды находятся на GitHub: https://github.com/itchief/ui-components/tree/master/slider.
Если нашли какую-то ошибку, то создавайте тикет (issue) на GitHub. Если понравился или помог слайдер, то поддержите его развитие.
Подключение CSS и JavaScript
Исходные коды слайдера расположены на GitHub в репозитории ui-components. В ui-components находится не только этот слайдер, но и другие компоненты пользовательского интерфейса. Данный проект в этом репозитории находится в папке slider.
Слайдер состоит из 2 файлов:
- itc-slider.css;
- itc-slider.js.
Скачать файлы проекта ui-components
с GitHib: master.zip.
После загрузки этих файлов в определённую папку сайта, их нужно подключить к HTML-странице:
<!-- CSS -->
<link rel="stylesheet" href="/assets/css/itc-slider.css">
<!-- JavaScript -->
<script src="/assets/js/itc-slider.js" defer></script>
Здесь файлы itc-slider.css
и itc-slider.js
были загружены на сайт соответственно в /assets/css/
и /assets/js/
.
В теге <script>
используется атрибут defer
. Он указывает браузеру, что данный скрипт необходимо загрузить в фоне. Используется для ускорения загрузки сайта.
Теперь нам нужно добавить базовый макет Swiper в наше приложение:
HTML-структура
Создание слайдера начинается с добавления его базового макета на страницу:
<div class="itc-slider">
<div class="itc-slider-wrapper">
<div class="itc-slider-items">
<div class="itc-slider-item">
<!-- Контент 1 слайда -->
</div>
<div class="itc-slider-item">
<!-- Контент 2 слайда -->
</div>
<div class="itc-slider-item">
<!-- Контент 3 слайда -->
</div>
</div>
</div>
<!-- Кнопки для перехода к предыдущему и следующему слайду -->
<button class="itc-slider-btn itc-slider-btn-prev"></button>
<button class="itc-slider-btn itc-slider-btn-next"></button>
</div>
Этот базовый HTML-код содержит 3 карточки (.itc-slider-item
) и кнопки навигации (itc-slider-btn
).
Теперь каждую карточку (.itc-slider-item
) необходимо определённым образом разметить. Она может содержать как просто какой-то текст или изображение, которое будет использоваться для его представления. Это может быть как просто изображение, так и сложный HTML-фрагмент.
Если кнопки для перехода к предыдущему и следующему элементу не нужны, то их можно удалить из разметки:
<button class="itc-slider-btn itc-slider-btn-prev"></button>
<button class="itc-slider-btn itc-slider-btn-next"></button>
Добавление индикаторов осуществляется посредством вставки в .itc-slider
следующего кода:
<div class="itc-slider">
...
<ol class="itc-slider-indicators">
<!-- data-slide-to="0" – для перехода к 1 слайду -->
<li class="itc-slider-indicator" data-slide-to="0"></li>
<!-- data-slide-to="1" – для перехода к 2 слайду -->
<li class="itc-slider-indicator" data-slide-to="1"></li>
<!-- data-slide-to="2" – для перехода к 3 слайду -->
<li class="itc-slider-indicator" data-slide-to="2"></li>
</ol>
</div>
При этом количество элементов .itc-slider-indicator
должно соответствовать количеству слайдов.
Инициализация слайдера
Теперь, когда у нас имеется HTML-код, нам нужно его инициализировать с помощью функции new ItcSlider()
.
Это можно сделать 2 способами:
1. Посредством добавления атрибута data-slider="itc-slider"
к корневому элементу слайдера:
<div class="itc-slider" data-slider="itc-slider">
...
</div>
В этом случае, скрипт itc-slider.js
как только DOM страницы будет построена, всё сделает это сам. А именно инициализирует эти элементы как ItcSlider
.
Выполняет itc-slider.js
это внутри своего кода посредством вызова статического метода ItcSlider.createInstances()
. При выполнении этот метод создаёт экземпляры класса ItcSlider
для всех элементов на странице, имеющих атрибут data-slider="itc-slider"
.
2. Через JavaScript. Осуществляется это посредством вызова статического метода getOrCreateInstance
и передачи ему в качестве аргумента селектора или DOM-элемента, в который заключён слайдер:
// .slider – селектор для выбора элемента, который нужно активировать как ItcSlider
ItcSlider.getOrCreateInstance('.slider');
Но эту команду необходимо выполнить только после готовности DOM и загрузки скрипта itc-slider.js
:
// после готовности DOM
document.addEventListener('DOMContentLoaded', () => {
ItcSlider.getOrCreateInstance('.slider');
});
Внутри
getOrCreateInstance()
проверяет создан ли экземпляр класса ItcSlider
для указанного элемента. Если нет, то вызывает конструктор класса ItcSlider
для создания нового экземпляра.
Обратите внимание, что при передаче getOrCreateInstance()
селектора, будет инициализирован только первый элемент, соотвествующий ему.
Инициализировать все элементы с определённым классом можно так:
// после готовности DOM
document.addEventListener('DOMContentLoaded', () => {
document.querySelectorAll('.slider').forEach((el) => {
ItcSlider.getOrCreateInstance(el);
});
});
Параметры
Настройка слайдера осуществляется с помощью следующих параметров:
autoplay
– включает автоматическую смену слайдов (по умолчаниюfalse
);interval
– определяет интервал в миллисекундах между автоматической сменой слайдов (по умолчанию5000
);loop
– указывает нужно ли зацикливать или нет показ слайдов (по умолчаниюtrue
);refresh
– включает перерасчет размеров слайдера при изменении ширины HTML документа (по умолчаниюtrue
);swipe
– разрешает листать слайды свайпом и перемещением курсора мыши при зажатой левой кнопки мыши (по умолчаниюtrue
).
При инициализация слайдер через data-slider="itc-slider"
парметры можно также передать через data-атрибуты. Например:
<div class="itc-slider" data-slider="itc-slider" data-loop="true" data-autoplay="true" data-interval="7000">
Такой способ инициализации слайдера и передачи ему параметров приведён почти во всех примерах, приведённых выше за исключением демки, в котором он отображается в модальном окне. Здесь он активируется посредством JavaScript.
В JavaScript коде передача параметров выполняется в формате объекта, который нужно указать в качестве второго аргумента:
ItcSlider.getOrCreateInstance('.itc-slider', {
loop: false, // без зацикливания
swipe: false // без свайпа
});
Настройка количества слайдов
Регулировка количества слайдов, показывающихся в области видимости ItcSlider
выполняется посредством CSS:
.itc-slider-item {
flex: 0 0 100%;
}
Так как слайды являются flex-элементами, то рекомендуется для установки ширины использовать свойство flex
. Здесь мы установили в качестве ширины значение 100%
. Таким образом у нас на экране будет виден только один .itc-slider-item
.
Если предпочитаете использовать свойство width
вместо flex-basis
, то тогда установку ширины можно осуществлять следующим образом:
.itc-slider-item {
flex: 0 0 auto;
width: 100%;
}
Для показа 2 элементов нужно в качестве flex-basis
установить значение 50%
:
.itc-slider-item {
flex: 0 0 50%;
/* или */
/* flex: 0 0 auto; */
/* width: 50%; */
}
Эти стили можно добавить в свой CSS-файл или непосредственно на страницу, используя тег <style>
.
Адаптивную настройку количества одновременно показывающихся слайдов можно осуществить посредством медиа-запросов:
/* на маленьких устройствах 1 слайд */
.itc-slider-item {
flex: 0 0 100%;
}
/* на средних экранах (ширина больше 768px) 2 слайда */
@media (min-width: 768px) {
.itc-slider-item {
flex: 0 0 50%;
}
}
/* на больших экранах (ширина больше 1200px) 3 слайда */
@media (min-width: 1200px) {
.itc-slider-item {
flex: 0 0 33.3333333333%;
}
}
Отступы между слайдами
Добавление отступов между слайдами осуществляется с помощью gap
:
.itc-slider-items {
--gap: 1rem;
gap: var(--gap);
}
Здесь CSS-переменную gap
мы создали не просто так. Она нам также понадобится при установке ширины.
Рассмотрим примеры, когда ширину item
мы устанавливаем в процентом отношении. Например, при показе 2 активных элементов:
.itc-slider-item {
flex: 0 0 calc(50% - var(--gap) / 2);
В этом случае из ширины одного item
нужно вычесть половину gap
.
Для отображения в области видимости 3 слайдов, у нас будут видны 2 отступа. Следовательно, ширину одного item
необходимо уменьшить на var(--gap) * 2 / 3
:
.itc-slider-item {
flex: 0 0 calc(33.3333333333% - var(--gap) * 2 / 3);
}
Для четырёх:
.itc-slider-item {
flex: 0 0 calc(25% - var(--gap) * 3 / 4);
}
Для одного активного слайда уменьшать ширину не нужно. Так как на экране в этом случае не показывается gap
, он будет только виден при пролистовании:
.itc-slider-item {
flex: 0 0 100%;
}
Если ширину .itc-slider-item
вы задаёте в абсолютных единицах (px
, rem
и так далее), то тогда её следует рассчитать самостоятельно с учётом gap
, либо использовать, как и в примерах приведённых выше функцию calc()
:
.itc-slider {
width: 700px;
}
.itc-slider-items {
--gap: 30px;
gap: var(--gap);
}
.itc-slider-item {
flex: 0 0 335px;
/* или */
/* flex: 0 0 calc(350px - var(--gap) / 2); */
}
Методы
После инициализации слайдера, получить доступ к его экземпляру ItcSlider
можно посредством статического метода getInstance
:
// получаем DOM-элемент слайдера
const sliderElem = document.querySelector('.slider');
// получаем его экземпляр класса ItcSlider
const slider = ItcSlider.getInstance(sliderElem);
Также экземляр ItcSlider
возвращает метод getOrCreateInstance
:
// получаем DOM-элемент слайдера
const sliderElem = document.querySelector('.slider');
// получаем его экземпляр класса
const slider = ItcSlider.getOrCreateInstance(sliderElem);
Но, getOrCreateInstance
не только возвращает объект, но и инициализирует указанный элемент, если он до этого не был активирован, как ItcSlider
.
После получения экземпляра класса ItcSlider
нам будут доступны следующие методы:
autoplay.start()
– начать автопроизведение;autoplay.stop()
– остановить автопроизведение;slideNext()
– перейти к следующему слайду;slidePrev()
– перейти к предыдущему слайду;slideTo(index)
– перейти к слайду, порядковый номер которого соответствуетindex
;reset()
– сбросить состояние слайдера к изначальному;dispose()
– удаляет обработчики событий и другие элементы слайдера, добавленные при его инициализации.
// получим DOM-элемент слайдера
const sliderElem = document.querySelector('.slider');
// получим экземпляр класса ItcSlider и сохраним его в переменную slider
const slider = ItcSlider.getInstance(sliderElem);
// остановим автоматическую смену слайдов
slider.autoplay.stop();
// перейдём к предыдущему слайду
slider.prev();
// сбросим состояние слайдера к первоначальному
slider.reset();
Устройство и некоторые принципы работы слайдера
Как вы уже знаете слайдер ItcSlider
в качестве HTML разметки по умолчанию имеет следующую структуру:
<div class="itc-slider">
<div class="itc-slider-wrapper">
<div class="itc-slider-items">
<div class="itc-slider-item">
<!-- Контент 1 слайда -->
</div>
<div class="itc-slider-item">
<!-- Контент 2 слайда -->
</div>
<div class="itc-slider-item">
<!-- Контент 3 слайда -->
</div>
</div>
</div>
<!-- Кнопки -->
<button class="itc-slider-btn itc-slider-btn-prev"></button>
<button class="itc-slider-btn itc-slider-btn-next"></button>
</div>
Корневой элемент этого компонента имеет класс itc-slider
. В нём расположены:
.itc-slider-wrapper
– используется в качестве обёртки;.itc-slider-btn
– кнопки, с помощью которых мы можем перейти соответственно к предыдущему и следующему слайду.
CSS код слайдера очень простой, как мы уже отмечали выше, он находится на GitHub в файле itc-slider.css
. В нём нет ничего особенного, здесь мы детальнее остановимся на коде JavaScript.
Сдвиг слайдов в нужном направлении выполняется с помощью приватного метода #move()
. Эта метод в зависимости от значения приватного свойства this.#state.direction
выполняет изменение положения элемента .itc-slider-items
в определённом направлении посредством CSS-трансформации.
Организация зацикленности слайдера выполняется также посредством CSS-трансформаций, но уже не контейнера .itc-slider-items
, а посредством самих элементов .itc-slider-item
.
Перед тем как понять какой элемент .itc-slider-item
и куда нужно переместить, необходимо сначала знать текущее положение и значение трансформации каждого из них. Осуществляется это посредством свойств this.#state.els.index
, this.#state.els.order
и this.#state.els.translate
. Они соответственно содержат порядковый номер или индекс слайда, его текущего положение или порядок, и его значение трансформации. Изначально эти свойства в this.#state.els
добавляются на этапе активирования слайдера:
// this.#state.elListItem – это элементы .itc-slider-item
this.#state.elListItem.forEach((el, index) => {
this.#state.els.push({ el, index, order: index, translate: 0 });
});
Экстремальные значения этих данных содержатся также в свойствах: this.#state.exOrderMin
, this.#state.exOrderMax
, this.#state.exItemMin
, this.#state.exItemMax
, this.#state.exTranslateMin
и this.#state.exTranslateMax
.
Обновление значений этих свойств выполняется посредством вызова метода #updateExProperties()
в необходимых местах программы, а их трансформация для организации зацикленности осуществляется при вызове метода #balanceItems()
.
Автоматическая смена слайдов через определённые промежутки времени осуществляется с помощью функции setInterval
. Она просто вызывает метод #move()
через количество миллисекунд, указанное в this.#config.interval
:
this.#state.intervalId = setInterval(() => {
this.#state.direction = 'next';
this.#move();
}, this.#config.interval);
Выключение автоматической смены слайдов, например, осуществляется когда пользователь перемещает курсор в область внутрь границ слайдера. В коде это осуществляется так:
#onMouseEnter() {
this.#autoplay('stop');
}
#onMouseLeave() {
this.#autoplay();
}
Кроме этого, автоматическая смена слайдов выключается, когда страница переходит в фоновый режим, например, при переключении на другую вкладку.
В коде это выполнено с использованием события visibilitychange
следующим образом:
#onVisibilityChange() {
if (document.visibilityState === 'hidden') {
this.#autoplay('stop');
} else if (document.visibilityState === 'visible' && this.#config.loop) {
this.#autoplay();
}
}
В слайдере также реализована функция, которая позволяет пересчитать слайдер при изменении ширины viewport. Выполняется это с помощью вызова функции _refresh
.
#onResize() {
window.requestAnimationFrame(this.#reset.bind(this));
}
Добавления обработчиков в коде осуществляется через forEach
:
Object.keys(this.#state.events).forEach((type) => {
if (this.#state.events[type][2]) {
const el = this.#state.events[type][0];
const fn = this.#state.events[type][1];
el.addEventListener(type, fn);
}
});