Карусель
Компонент слайд-шоу для циклічного перегляду елементів — зображень або слайдів із текстом — як карусель.
Як це працює
Карусель — це слайд-шоу для перегляду серії вмісту, створене за допомогою 3D-перетворень CSS і трохи JavaScript. Він працює з серією зображень, текстом або спеціальною розміткою. Він також включає підтримку попередніх/наступних елементів керування та індикаторів.
У браузерах, де підтримується 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"
використовується, щоб позначити карусель як анімовану, починаючи з завантаження сторінки. Його не можна використовувати в поєднанні з (зайвою та непотрібною) явною ініціалізацією JavaScript тієї самої каруселі.
Через JavaScript
Викликати карусель вручну за допомогою:
Опції
Параметри можна передати через атрибути даних або JavaScript. Для атрибутів даних додайте назву опції до data-
, як у data-interval=""
.
Ім'я | Тип | За замовчуванням | опис |
---|---|---|---|
інтервал | номер | 5000 | Час затримки між автоматичним перемиканням елемента. Якщо значення false, карусель не запускатиметься автоматично. |
клавіатура | логічний | правда | Чи повинна карусель реагувати на події клавіатури. |
пауза | рядок | логічний | "навести" | Якщо встановлено значення На сенсорних пристроях, коли встановлено значення |
їздити | рядок | помилковий | Автоматично відтворює карусель після того, як користувач вручну перемикає перший елемент. Якщо "карусель", автоматично відтворює карусель під час завантаження. |
загорнути | логічний | правда | Чи повинна карусель обертатися безперервно чи мати жорсткі зупинки. |
дотик | логічний | правда | Чи повинна карусель підтримувати взаємодію пальцем ліворуч/праворуч на пристроях із сенсорним екраном. |
методи
Асинхронні методи та переходи
Усі методи API є асинхронними та починають перехід . Вони повертаються до абонента, щойно перехід починається, але до його завершення . Крім того, виклик методу компонента, що переходить, ігноруватиметься .
Дивіться нашу документацію JavaScript для отримання додаткової інформації .
.carousel(options)
Ініціалізує карусель із додатковими параметрами object
та починає переміщатися між елементами.
.carousel('cycle')
Переглядає елементи каруселі зліва направо.
.carousel('pause')
Зупиняє карусель від циклу між предметами.
.carousel(number)
Перемикає карусель до певного кадру (на основі 0, подібно до масиву). Повертається до абонента до того, як буде показано цільовий елемент (тобто до того , як відбудеться slid.bs.carousel
подія).
.carousel('prev')
Перехід до попереднього пункту. Повертається до абонента до того, як буде показано попередній елемент (тобто до того , як відбудеться slid.bs.carousel
подія).
.carousel('next')
Перехід до наступного елемента. Повертається до абонента до того, як буде показано наступний елемент (тобто до того , як відбудеться slid.bs.carousel
подія).
.carousel('dispose')
Знищує карусель елемента.
Події
Клас каруселі Bootstrap надає дві події для підключення до функції каруселі. Обидві події мають такі додаткові властивості:
direction
: напрямок, у якому ковзає карусель ("left"
або"right"
).relatedTarget
: Елемент DOM, який переміщується на місце як активний елемент.from
: Індекс поточного елементаto
: Індекс наступного елемента
Усі події каруселі запускаються на самій каруселі (тобто на <div class="carousel">
).
Тип події | опис |
---|---|
slide.bs.carousel | Ця подія запускається відразу після slide виклику методу екземпляра. |
slid.bs.carousel | Ця подія запускається, коли карусель завершує перехід слайдів. |
Змінити тривалість переходу
Тривалість переходу .carousel-item
можна змінити за допомогою $carousel-transition
змінної Sass перед компіляцією або власними стилями, якщо ви використовуєте скомпільований CSS. Якщо застосовано кілька переходів, переконайтеся, що спочатку визначено перехід трансформації (наприклад, transition: transform 2s ease, opacity .5s ease-out
).