Collapse
Переключайте видимость контента в вашем проекте несколькими классами, нашим плагином переключения видимости и JavaScript.
Кликните по кнопке внизу, чтобы показать и скрыть элемент с помощью изменения его класса:
.collapseскрывает содержимое.collapsingприменяется во время переходов.collapse.showпоказывает содержимое
Вы можете использовать ссылку с атрибутом href или кнопку с атрибутом data-target. В обоих случаях требуется атрибут data-toggle="collapse".
<p><aclass="btn btn-primary"data-toggle="collapse"href="#collapseExample"role="button"aria-expanded="false"aria-controls="collapseExample"> Ссылка с href </a><buttonclass="btn btn-primary"type="button"data-toggle="collapse"data-target="#collapseExample"aria-expanded="false"aria-controls="collapseExample"> Кнопка с data-target </button></p><divclass="collapse"id="collapseExample"><divclass="card card-body"> 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>Кнопки и ссылки <button> и <a> могут показывать и прятать сразу несколько элементов, обращаясь к их атрибутам href или data-target через селектор jQuery. Несколько <button> или <a> могут показывать или прятать один элемент, если каждый из них обращается к элементу через свои атрибуты href или data-target.
<p><aclass="btn btn-primary"data-toggle="collapse"href="#multiCollapseExample1"role="button"aria-expanded="false"aria-controls="multiCollapseExample1">Переключить 1-ый элемент</a><buttonclass="btn btn-primary"type="button"data-toggle="collapse"data-target="#multiCollapseExample2"aria-expanded="false"aria-controls="multiCollapseExample2">Переключить 2-ой элемент</button><buttonclass="btn btn-primary"type="button"data-toggle="collapse"data-target=".multi-collapse"aria-expanded="false"aria-controls="multiCollapseExample1 multiCollapseExample2">Переключить оба элемента</button></p><divclass="row"><divclass="col"><divclass="collapse multi-collapse"id="multiCollapseExample1"><divclass="card card-body"> 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><divclass="col"><divclass="collapse multi-collapse"id="multiCollapseExample2"><divclass="card card-body"> 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></div>Используя компонент «карточка», можно расширить стандартное поведение сворачивания для создания «аккордеона», т.е. столбца сворачиваемых панелей (для экономии места).
<divid="accordion"><divclass="card"><divclass="card-header"id="headingOne"><h5class="mb-0"><buttonclass="btn btn-link"data-toggle="collapse"data-target="#collapseOne"aria-expanded="true"aria-controls="collapseOne"> Разворачиваемая панель #1 </button></h5></div><divid="collapseOne"class="collapse show"aria-labelledby="headingOne"data-parent="#accordion"><divclass="card-body"> 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><divclass="card"><divclass="card-header"id="headingTwo"><h5class="mb-0"><buttonclass="btn btn-link collapsed"data-toggle="collapse"data-target="#collapseTwo"aria-expanded="false"aria-controls="collapseTwo"> Разворачиваемая панель #2 </button></h5></div><divid="collapseTwo"class="collapse"aria-labelledby="headingTwo"data-parent="#accordion"><divclass="card-body"> 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><divclass="card"><divclass="card-header"id="headingThree"><h5class="mb-0"><buttonclass="btn btn-link collapsed"data-toggle="collapse"data-target="#collapseThree"aria-expanded="false"aria-controls="collapseThree"> Разворачиваемая панель #3 </button></h5></div><divid="collapseThree"class="collapse"aria-labelledby="headingThree"data-parent="#accordion"><divclass="card-body"> 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" aria-expanded="false". Если раньше вы определяли скрываемый элемент показываемым по умолчанию через класс show, теперь используйте вместо этого класса aria-expanded="true" в «контролирующем» элементе. Основываясь на том, показан или скрыт элемент, плагин будет автоматически переключать этот атрибут (через JavaScript либо через отслеживание клика по другому «контролирующему» элементу, связанному с данным скрываемым элементом).
Дополнение: если ваш «контролирующий» элемент взаимодействует с одним скрываемым элементом – т.е. атрибут data-target указывает на #id – вы можете добавить дополнительный атрибут aria-controls к «контролирующему» элементу, содержащему #id этого скрываемого элемента.
Плагин «скрытия\показа» использует несколько классов для работы c даже «тяжелыми» элементами:
.collapseпрячет содержимое.collapse.showпоказывает содержимое.collapsingдобавляется, когда переход начинается и удаляется с его завершением
Эти классы можно найти в _transitions.scss.
Добавьте в элемент атрибуты data-toggle="collapse" и data-target для автоматического контроля одного или более скрываемых элементов. Атрибут data-target принимает CSS-селектор для применения к нему поведения toggle’a. Удостоверьтесь, что добавили в скрываемый элемент класс collapse. Если он должен быть показан по умолчанию, добавьте в него класс show.
Для добавления компактно расположенной (см. Разворачиваемые панели для экономии места) группы «контролирующих» элементов добавьте атрибут data-parent="#selector". Обратитесь к демо для просмотра в действии.
Активируйте вручную:
$('.collapse').collapse()Параметры можно передавать через атрибуты или JavaScript. Чтобы сделать это через атрибуты, добавьте имя параметра к data-, например data-parent="".
| Имя | Тип | По умолч. | Описание |
|---|---|---|---|
| parent | selector | jQuery object | DOM element | false | Если есть родительский элемент, все скрываемые элементы под определенным «родителем» закроются, когда он открыт (как в «аккордеоне» - это зависит от класса card). Атрибут нужно устанавливать в скрываемой зоне. |
| toggle | boolean | true | Взаимодействует с скрываемым элементом по обращению |
Асинхронные методы и переходы
Все методы API асинхронны и запускают переход. Они возвращаются функции, вызвавшей их, с началом перехода, но до его конца. Плюс, вызов метода к компоненту, выполняющему переход, будет проигнорирован.
Задействует ваше содержимое как скрываемый элемент. Принимает object дополнительных опций.
$('#myCollapsible').collapse({toggle:false})Задействует на скрываемом элементе функциональность toggle’а (hide\show). Возвращается к функции-вызову до того, как элемент показан или скрыт (т.е. до отработки событий shown.bs.collapse или hidden.bs.collapse event occurs).
Показывает скрываемый элемент. Возвращается к функции-вызову до того, как элемент показан или скрыт (т.е. до отработки события shown.bs.collapse).
Прячет скрываемый элемент. Возвращается к функции-вызову до того, как элемент показан или скрыт (т.е. до отработки события hidden.bs.collapse).
Уничтожает «коллпас» элемента.
Класс «коллапса» в Bootstrap содержит несколько событий для вовлечения, взаимодействия и связи иных событий JS с функциональностью «коллапса».
| Тип события | Описание |
|---|---|
| show.bs.collapse | Это событие наступает немедленно по вызову экземпляра метода show. |
| shown.bs.collapse | Это событие наступает, когда элемент «коллапса» сделан видимым юзеру (будет ждать выполнения CSS-переходов). |
| hide.bs.collapse | Это событие наступает немедленно по вызову метода hide. |
| hidden.bs.collapse | Это событие наступает как только элемент «коллапса» скрыт от юзера (будет ждать выполнения CSS-переходов). |
$('#myCollapsible').on('hidden.bs.collapse',function(){// do something…})