Спойлер
Плагин спойлера Bootstrap позволяет вам переключать контент на ваших страницах с помощью нескольких классов благодаря некоторому полезному JavaScript.
Содержание
Пример
Нажмите кнопки ниже, чтобы показать и скрыть другой элемент с помощью изменений класса:
.collapse
скрывает содержимое.collapsing
применяется во время переходов.collapse.show
показывает содержимое
Вы можете использовать ссылку с атрибутом href
или кнопку с атрибутом data-target
. В обоих случаях требуется data-toggle="collapse"
.
<p>
<a class="btn btn-primary" data-toggle="collapse" href="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
Link with href
</a>
<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
Button with data-target
</button>
</p>
<div class="collapse" id="collapseExample">
<div class="card card-block">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
</div>
</div>
Пример аакордеона
Расширьте режим сворачивания по умолчанию, чтобы создать аккордеон.
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="card">
<div class="card-header" role="tab" id="headingOne">
<h5 class="mb-0">
<a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Collapsible Group Item #1
</a>
</h5>
</div>
<div id="collapseOne" class="collapse show" role="tabpanel" aria-labelledby="headingOne">
<div class="card-block">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
</div>
</div>
<div class="card">
<div class="card-header" role="tab" id="headingTwo">
<h5 class="mb-0">
<a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
Collapsible Group Item #2
</a>
</h5>
</div>
<div id="collapseTwo" class="collapse" role="tabpanel" aria-labelledby="headingTwo">
<div class="card-block">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
</div>
</div>
<div class="card">
<div class="card-header" role="tab" id="headingThree">
<h5 class="mb-0">
<a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
Collapsible Group Item #3
</a>
</h5>
</div>
<div id="collapseThree" class="collapse" role="tabpanel" aria-labelledby="headingThree">
<div class="card-block">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
</div>
</div>
</div>
Доступность
Обязательно добавьте aria-expanded
к элементу управления. Этот атрибут явно определяет текущее состояние элемента спойлера для скринридеров и аналогичных вспомогательных технологий. Если элемент спойлера закрыт по умолчанию, он должен иметь значение aria-expanded="false"
. Если вы создали элемент спойлера открытым по умолчанию с помощью класса show
вместо этого установите aria-expanded="true"
. Плагин автоматически переключит этот атрибут, основываясь на том, был или не был открыт или закрыт элемент спойлера.
Кроме того, если ваш элемент управления нацелен на единый элемент спойлера, т. е. атрибут data-target
указывает на селектор id
, вы можете добавить дополнительный атрибут aria-controls
для элемента управления, содержащего id
элемента спойлера. Современные скринридеры и аналогичные вспомогательные технологии используют этот атрибут, чтобы предоставить пользователям дополнительные ярлыки для навигации непосредственно к элементу спойлера.
Применение
Плагин collapse использует несколько классов:
.collapse
скрывает содержимое.collapse.show
показывает содержимое.collapsing
добавляется, когда начинается переход, и удаляется, когда он заканчивается
Эти классы можно найти в файле _transitions.scss
.
Через атрибуты данных
Просто добавьте data-toggle="collapse"
и data-target
в элемент, чтобы автоматически назначить управление элементом спойлера. Атрибут data-target
принимает селектор CSS для применения спойлера. Обязательно добавьте класс collapse
в сворачиваемый элемент. Если вы хотите открыть его по умолчанию, добавьте дополнительный show
класса.
Через JavaScript
Включите вручную с помощью:
Опции
Опции могут передаваться через атрибуты данных или JavaScript. Для атрибутов данных добавьте имя параметра к data-
, как в data-parent=""
.
Название | Тип | По умолчанию | Описаие |
---|---|---|---|
parent | selector | false | Если предоставлен селектор, тогда все элементы спойлера под указанным родителем будут закрыты при отображении этого элемента. (аналогично традиционному аккордеонному поведению - это зависит от класса panel ) |
toggle | boolean | true | Переключает элемент спойлера при вызове |
Методы
.collapse(options)
Активирует ваш контент как элемент спойлера. Принимает необязательный object
.
.collapse('toggle')
Включает или отключает элемент спойлера.
.collapse('show')
Показывает элемент спойлера.
.collapse('hide')
Скрывает элемент спойлера.
События
Bootstrap класс спойлера предоставляет несколько событий для подключения к функции сворачивания.
Тип события | Описание |
---|---|
show.bs.collapse | Это событие срабатывает сразу после вызова метода экземпляра show . |
shown.bs.collapse | Это событие вызывается, когда элемент спойлера становится видимым для пользователя (будет ожидать завершения переходов CSS). |
hide.bs.collapse |
Это событие вызывается сразу после вызова метода hide .
|
hidden.bs.collapse | Это событие вызывается, когда элемент спойлера скрыт от пользователя (будет ждать завершения переходов CSS). |