Карусель
Компонент слайд-шоу для циклического просмотра элементов — изображений или слайдов текста — как карусель.
Как это работает
Карусель — это слайд-шоу для циклического просмотра контента, созданного с помощью 3D-преобразований CSS и небольшого количества JavaScript. Он работает с серией изображений, текста или пользовательской разметки. Он также включает поддержку предыдущих/следующих элементов управления и индикаторов.
В браузерах , поддерживающих Page Visibility API , карусель будет избегать скольжения, когда веб-страница не видна пользователю (например, когда вкладка браузера неактивна, окно браузера свернуто и т. д.).
Эффект анимации этого компонента зависит от prefers-reduced-motion
медиа-запроса. См. раздел с ограниченным движением в нашей документации по специальным возможностям .
Имейте в виду, что вложенные карусели не поддерживаются, а карусели, как правило, не соответствуют стандартам доступности.
Наконец, если вы создаете наш JavaScript из исходного кода, для этого требуетсяutil.js
.
Пример
Карусели не нормализуют автоматически размеры слайдов. Таким образом, вам может потребоваться использовать дополнительные утилиты или пользовательские стили для соответствующего размера содержимого. Хотя карусели поддерживают элементы управления и индикаторы «предыдущий/следующий», они явно не требуются. Добавляйте и настраивайте по своему усмотрению.
Класс .active
нужно добавить на один из слайдов иначе карусели не будет видно. Также не забудьте установить уникальный идентификатор .carousel
для дополнительных элементов управления, особенно если вы используете несколько каруселей на одной странице. Элементы управления и индикатора должны иметь data-target
атрибут (или href
для ссылок), который соответствует идентификатору .carousel
элемента.
Только слайды
Вот карусель только со слайдами. Обратите внимание на наличие .d-block
и .w-100
на изображениях карусели, чтобы предотвратить выравнивание изображений по умолчанию в браузере.
С элементами управления
Добавление в предыдущий и следующий элементы управления:
С индикаторами
Вы также можете до��авить индикаторы в карусель вместе с элементами управления.
С подписями
Легко добавляйте подписи к слайдам с помощью .carousel-caption
элемента в любом файле .carousel-item
. Их можно легко скрыть на небольших окнах просмотра, как показано ниже, с помощью дополнительных утилит отображения . Сначала мы скрываем их с помощью .d-none
и возвращаем на устройства среднего размера с помощью .d-md-block
.
Кроссфейд
Добавьте .carousel-fade
в свою карусель, чтобы анимировать слайды с плавным переходом вместо слайда.
Индивидуальный .carousel-item
интервал
Добавьте data-interval=""
к a, .carousel-item
чтобы изменить время задержки между автоматическим переходом к следующему элементу.
Применение
Через атрибуты данных
Используйте атрибуты данных, чтобы легко управлять положением карусели. data-slide
принимает ключевые слова prev
или next
, которые изменяют положение слайда относительно его текущего положения. В качестве альтернативы используйте data-slide-to
для передачи необработанного индекса слайда в карусель data-slide-to="2"
, который сдвигает положение слайда на определенный индекс, начинающийся с 0
.
Атрибут data-ride="carousel"
используется, чтобы пометить карусель как анимацию, начиная с загрузки страницы. Если вы не используете data-ride="carousel"
для инициализации карусели, вы должны инициализировать ее самостоятельно. Его нельзя использовать в сочетании с (избыточной и ненужной) явной инициализацией JavaScript той же карусели.
Через JavaScript
Вызвать карусель вручную с помощью:
Опции
Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-
, as in data-interval=""
.
Name | Type | Default | Description |
---|---|---|---|
interval | number | 5000 | The amount of time to delay between automatically cycling an item. If false, carousel will not automatically cycle. |
keyboard | boolean | true | Whether the carousel should react to keyboard events. |
pause | string | boolean | "hover" | If set to On touch-enabled devices, when set to |
ride | string | false | Autoplays the carousel after the user manually cycles the first item. If "carousel", autoplays the carousel on load. |
wrap | boolean | true | Whether the carousel should cycle continuously or have hard stops. |
touch | boolean | true | Whether the carousel should support left/right swipe interactions on touchscreen devices. |
Methods
Asynchronous methods and transitions
All API methods are asynchronous and start a transition. They return to the caller as soon as the transition is started but before it ends. In addition, a method call on a transitioning component will be ignored.
.carousel(options)
Initializes the carousel with an optional options object
and starts cycling through items.
.carousel('cycle')
Cycles through the carousel items from left to right.
.carousel('pause')
Stops the carousel from cycling through items.
.carousel(number)
Cycles the carousel to a particular frame (0 based, similar to an array). Returns to the caller before the target item has been shown (i.e. before the slid.bs.carousel
event occurs).
.carousel('prev')
Cycles to the previous item. Returns to the caller before the previous item has been shown (i.e. before the slid.bs.carousel
event occurs).
.carousel('next')
Cycles to the next item. Returns to the caller before the next item has been shown (i.e. before the slid.bs.carousel
event occurs).
.carousel('dispose')
Destroys an element’s carousel.
Events
Bootstrap’s carousel class exposes two events for hooking into carousel functionality. Both events have the following additional properties:
direction
: The direction in which the carousel is sliding (either"left"
or"right"
).relatedTarget
: The DOM element that is being slid into place as the active item.from
: The index of the current itemto
: The index of the next item
All carousel events are fired at the carousel itself (i.e. at the <div class="carousel">
).
Event Type | Description |
---|---|
slide.bs.carousel | Это событие срабатывает немедленно при slide вызове метода экземпляра. |
slid.bs.карусель | Это событие запускается, когда карусель завершила переход слайдов. |
Изменить продолжительность перехода
Продолжительность перехода .carousel-item
можно изменить с помощью $carousel-transition
переменной Sass перед компиляцией или пользовательскими стилями, если вы используете скомпилированный CSS. Если применяется несколько переходов, убедитесь, что сначала определен переход преобразования (например, transition: transform 2s ease, opacity .5s ease-out
).