Создание javascript слайдера на Twitter Bootstrap 3
Twitter Bootstrap 3 является лучшей CSS библиотекой для создания и разработки CMS. Становится легко создать блог, портфолио или личную страничку использую сетку от Twitter Bootstrap 3. Большинство CMS имеют одну общую штуковину под названием слайдер. Принцип работы слайдера основан на последовательной автоматизированной смене изображений, слайдер может быть использован для: показа ваших последних проектов, описание специальных предложений, как ссылки на новостные блоки, или для показа последних сообщений вашего блога.
В этой статье будет показано, как создать слайдер, используя javascript компонент от Twitter Bootstrap 3 Carousel.
Понимание компонента Twitter Bootstrap 3 Carousel
Разметка для компонента Carousel выглядит следующим образом:
HTML
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#carousel-example-generic"
data-slide-to="0" class="active"></li>
<li data-target="#carousel-example-generic" data-slide-to="1"></li>
<li data-target="#carousel-example-generic" data-slide-to="2"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item active">
<img src="..." alt="...">
<div class="carousel-caption">
...
</div>
</div>
<div class="item">
<img src="..." alt="...">
<div class="carousel-caption">
...
</div>
</div>
...
</div>
<!-- Controls -->
<a class="left carousel-control" href="#carousel-example-generic"
role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
</a>
<a class="right carousel-control" href="#carousel-example-generic"
role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
</a>
</div>
Из разметки выше нетрудно понять, что Carousel Twitter Bootstrap разделена на 3 основных компонента:
- Индикаторы
- Контент слайдера
- Элементы управления (контроль)
Посмотрите на demo, где слайдер создается на основе структуры Bootstrap 3.
Любой div
можно использовать как слайдер, для этого примените классы carousel
и slide
. Класс carousel
определяет элемент в качестве элемента с особенностью карусели (элемент обертка для слайдера). Класс slide
применяется для добавления слайд-эффекта слайдера, в процессе смены слайдов.
Индикаторы
это небольшие круги расположенные внизу по центру слайдера и указывающие на позицию текущего слайда и количество всех слайдов. Индикаторы объявляются через упорядоченный список (тег ol
).
HTML
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#carousel-example-generic"
data-slide-to="0" class="active"></li>
<li data-target="#carousel-example-generic" data-slide-to="1"></li>
<li data-target="#carousel-example-generic" data-slide-to="2"></li>
</ol>
Элементу ol
назначается класс carousel-indicators
, что делает дочерние элементы похожими на небольшие окружности. Каждый элемент li
должен иметь атрибут data-target
со значением равным id
родительского блока карусели. Также они должны иметь атрибут data-slide-to
с уникальным значением, причем значение должно инкрементироваться, начиная с 0
.
Контент слайдера является основной частью слайдера. Область с контентом определяется через класс carousel-inner
. Этот блок может иметь неограниченной количество div
элементов. Первый div
должен иметь класс active
.
HTML
<div class="carousel-inner">
<div class="item active">
<img src="..." alt="...">
<div class="carousel-caption">
...
</div>
</div>
<div class="item">
<img src="..." alt="...">
<div class="carousel-caption">
...
</div>
</div>
...
</div>
Каждый item
имеет две подсекции: image
и carousel-caption
. Изображение занимает полную ширину области с контентом в слайдере. carousel-caption
(область с дополнительной информацией о слайде) расположена над изображением. В блок carousel-caption
можно поместить обычные элементы разметки, например, такие как p
или h3
.
Элементы контроля
(стрелки вперед и назад) позволяют вручную менять положение слайдов.
HTML
<!-- Controls -->
<a class="left carousel-control" href="#carousel-example-generic"
role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
</a>
<a class="right carousel-control" href="#carousel-example-generic"
role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
</a>
Есть два элемента: по одному для каждой стрелки. Первый span
будет иметь класс glyphicon glyphicon-chevron-left
, который реализует левую стрелку; второй span
будет иметь класс glyphicon glyphicon-chevron-right
, реализующий правую стрелку. С тех пор как Bootstrap использует шрифты вместо изображений для показа иконок, мы имеем возможность использовать классы glyphicon
реализующие иконки.
На этом все! Вы успешно создали слайдер для вашего сайта. Плюс, для работы слайдера мы не написали ни одной строки javascript. Bootstrap.js делает все автоматически.
Опции Carousel
Опции могут быть передана через data-
атрибуты или javascript. Для data атрибутов просто добавьте имя опции за data-
и укажите нужное значение, например data-interval = ““
.
-
data-interval
указываем временной интервал (в миллисекундах) между слайдами. -
data-pause
используется, когда необходимо остановить активность слайдера. Если значение hover слайды не будут крутиться, когда мышка расположена над слайдом. -
data-wrap
логический атрибут, который указывает на то, следует ли начинать прокрутку заново при прохождении полного цикла слайдов.
Настройка carousel через Jquery
Если вам удобнее использовать JQuery, то Bootstrap позволяет вам инициализировать слайдер через javascript.
Чтобы использовать div
как карусель, вам потребуется следующий сниппет:
jQuery
$('.carousel').carousel()
Опции плагину Carousel можно передать объектом javascript:
jQuery
$('.carousel').carousel({
interval: 2000,
pause: ‛hover“,
wrap: true
})
Вы также можете использовать методы слайдера:
jQuery
.carousel('pause') // to pause the slider
.carousel('cycle') // to cycle through the slider items
.carousel(2) // to forcibly display the the 3rd slide in the slider
.carousel('prev') // to show the previous slide
.carousel(‘next’) // to show the next slide in the slider
Приведенные выше методы могут быть вызваны из любого javascript кода и оказать влияние на работу слайдера. Методы find
и prev
полезны, особенно когда вам требуется использовать свои кнопки, а не кнопки от Bootstrap.
Заключение
Теперь вы можете быстро создать слайдер без написания 1000 строк javascript кода.
Я думаю, при правильном использовании javascript компоненты от Bootstrap могут быть неотъемлемой частью веб-разработки.
Они, безусловно, сэкономят часть вашего времени. Кроссбраузерность!
по материалам
Комментарии к статье