Колапс
Укључите видљивост садржаја у свом пројекту помоћу неколико класа и наших ЈаваСцрипт додатака.
Како то ради
ЈаваСцрипт додатак за колапс се користи за приказивање и сакривање садржаја. Дугмад или сидра се користе као окидачи који су мапирани на одређене елементе које пребацујете. Сажимањем елемента ће се анимирати height
са његове тренутне вредности на 0
. С обзиром на то како ЦСС рукује анимацијама, не можете користити padding
на .collapse
елементу. Уместо тога, користите класу као независни елемент омотача.
prefers-reduced-motion
медијског упита. Погледајте одељак о
смањеном покрету наше документације о приступачности .
Пример
Кликните на дугмад испод да бисте приказали и сакрили други елемент путем промена класе:
.collapse
скрива садржај.collapsing
примењује се током прелаза.collapse.show
приказује садржај
Генерално, препоручујемо коришћење дугмета са data-target
атрибутом. Иако се са семантичке тачке гледишта не препоручује, такође можете користити везу са href
атрибутом (и role="button"
). У оба случаја data-toggle="collapse"
је потребно.
<p>
<a class="btn btn-primary" data-toggle="collapse" href="#collapseExample" role="button" 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-body">
Some placeholder content for the collapse component. This panel is hidden by default but revealed when the user activates the relevant trigger.
</div>
</div>
Хоризонтално
Додатак за колапс такође подржава хоризонтално сажимање. Додајте .width
класу модификатора да бисте прешли width
уместо height
и поставите а width
на непосредно подређени елемент. Слободно напишите сопствени прилагођени Сасс, користите уграђене стилове или користите наше услужне програме за ширину .
min-height
сет за избегавање прекомерног пресликавања у нашим документима, то није изричито потребно.
Потребан је само width
подређени елемент.
<p>
<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseWidthExample" aria-expanded="false" aria-controls="collapseWidthExample">
Toggle width collapse
</button>
</p>
<div style="min-height: 120px;">
<div class="collapse width" id="collapseWidthExample">
<div class="card card-body" style="width: 320px;">
This is some placeholder content for a horizontal collapse. It's hidden by default and shown when triggered.
</div>
</div>
</div>
Више мета
А <button>
или <a>
може приказати и сакрити више елемената упућивањем на њих помоћу ЈКуери селектора у свом href
или data-target
атрибуту. Вишеструки <button>
или <a>
могу да прикажу и сакрију елемент ако сваки од њих референцира са својим href
или data-target
атрибутом
<p>
<a class="btn btn-primary" data-toggle="collapse" href="#multiCollapseExample1" role="button" aria-expanded="false" aria-controls="multiCollapseExample1">Toggle first element</a>
<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#multiCollapseExample2" aria-expanded="false" aria-controls="multiCollapseExample2">Toggle second element</button>
<button class="btn btn-primary" type="button" data-toggle="collapse" data-target=".multi-collapse" aria-expanded="false" aria-controls="multiCollapseExample1 multiCollapseExample2">Toggle both elements</button>
</p>
<div class="row">
<div class="col">
<div class="collapse multi-collapse" id="multiCollapseExample1">
<div class="card card-body">
Some placeholder content for the first collapse component of this multi-collapse example. This panel is hidden by default but revealed when the user activates the relevant trigger.
</div>
</div>
</div>
<div class="col">
<div class="collapse multi-collapse" id="multiCollapseExample2">
<div class="card card-body">
Some placeholder content for the second collapse component of this multi-collapse example. This panel is hidden by default but revealed when the user activates the relevant trigger.
</div>
</div>
</div>
</div>
Пример хармонике
Користећи компоненту картице , можете проширити подразумевано понашање сажимања да бисте направили хармонику. Да бисте правилно постигли стил хармонике, обавезно користите .accordion
као омот.
.show
класи.
<div class="accordion" id="accordionExample">
<div class="card">
<div class="card-header" id="headingOne">
<h2 class="mb-0">
<button class="btn btn-link btn-block text-left" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Collapsible Group Item #1
</button>
</h2>
</div>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample">
<div class="card-body">
Some placeholder content for the first accordion panel. This panel is shown by default, thanks to the <code>.show</code> class.
</div>
</div>
</div>
<div class="card">
<div class="card-header" id="headingTwo">
<h2 class="mb-0">
<button class="btn btn-link btn-block text-left collapsed" type="button" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
Collapsible Group Item #2
</button>
</h2>
</div>
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionExample">
<div class="card-body">
Some placeholder content for the second accordion panel. This panel is hidden by default.
</div>
</div>
</div>
<div class="card">
<div class="card-header" id="headingThree">
<h2 class="mb-0">
<button class="btn btn-link btn-block text-left collapsed" type="button" data-toggle="collapse" data-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
Collapsible Group Item #3
</button>
</h2>
</div>
<div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-parent="#accordionExample">
<div class="card-body">
And lastly, the placeholder content for the third and final accordion panel. This panel is hidden by default.
</div>
</div>
</div>
</div>
Приступачност
Обавезно додајте aria-expanded
контролни елемент. Овај атрибут експлицитно преноси тренутно стање склопивог елемента повезаног са контролом читачима екрана и сличним помоћним технологијама. Ако је склопиви елемент затворен по подразумеваној вредности, атрибут на контролном елементу треба да има вредност aria-expanded="false"
. Ако сте подесили да склопиви елемент буде подразумевано отворен помоћу show
класе, aria-expanded="true"
уместо тога поставите на контроли. Додатак ће аутоматски укључити овај атрибут на контроли на основу тога да ли је склопиви елемент отворен или затворен (преко ЈаваСцрипт-а или зато што је корисник покренуо други контролни елемент који је такође везан за исти склопиви елемент). Ако ХТМЛ елемент контролног елемента није дугме (нпр. <a>
или <div>
), атрибутrole="button"
треба додати елементу.
Ако ваш контролни елемент циља на један склопиви елемент – тј. data-target
атрибут показује на id
селектор – требало би да додате aria-controls
атрибут контролном елементу, који садржи id
елемент склопивог. Савремени читачи екрана и сличне помоћне технологије користе овај атрибут како би корисницима пружиле додатне пречице за навигацију директно до самог склопивог елемента.
Имајте на уму да Боотстрап-ова тренутна имплементација не покрива различите интеракције са тастатуром описане у АРИА-овом водичу за ауторске праксе за хармонику – мораћете да их сами укључите у прилагођени ЈаваСцрипт.
Употреба
Додатак за колапс користи неколико класа да би се носио са тешким подизањем:
.collapse
сакрива садржај.collapse.show
приказује садржај.collapsing
се додаје када транзиција почне, а уклања се када се заврши
Ове класе се могу наћи у _transitions.scss
.
Преко атрибута података
Само додајте data-toggle="collapse"
и а data-target
елементу да бисте аутоматски доделили контролу над једним или више склопивих елемената. Атрибут data-target
прихвата ЦСС селектор за примену скупљања. Обавезно додајте класу collapse
у склопиви елемент. Ако желите да се подразумевано отвори, додајте додатну класу show
.
Да бисте додали управљање групама налик хармоници у склопиву област, додајте атрибут података data-parent="#selector"
. Погледајте демо да видите ово у акцији.
Преко ЈаваСцрипт-а
Омогућите ручно помоћу:
$('.collapse').collapse()
Опције
Опције се могу пренети преко атрибута података или ЈаваСцрипт-а. За атрибуте података додајте име опције у data-
, као у data-parent=""
.
Име | Тип | Уобичајено | Опис |
---|---|---|---|
родитељ | селектор | јКуери објекат | ДОМ елемент | лажно | Ако је наведен родитељ, онда ће сви склопиви елементи испод наведеног надређеног бити затворени када се прикаже ова склопива ставка. (слично традиционалном понашању хармонике - ово зависи од card класе). Атрибут мора бити постављен на циљну склопиву област. |
искључи | боолеан | истинито | Укључује склопиви елемент при позивању |
Методе
Асинхроне методе и прелази
Све АПИ методе су асинхроне и покрећу транзицију . Они се враћају позиваоцу чим се транзиција започне, али пре него што се заврши . Поред тога, позив методе за прелазну компоненту биће занемарен .
Погледајте нашу ЈаваСцрипт документацију за више информација .
.collapse(options)
Активира ваш садржај као склопиви елемент. Прихвата опционе опције object
.
$('#myCollapsible').collapse({
toggle: false
})
.collapse('toggle')
Пребацује склопиви елемент на приказан или сакривен. Враћа позиваоцу пре него што је склопиви елемент заиста приказан или сакривен (тј. пре него што се деси догађај shown.bs.collapse
или ).hidden.bs.collapse
.collapse('show')
Приказује склопиви елемент. Враћа позиваоцу пре него што је склопиви елемент заправо приказан (тј. пре него што се shown.bs.collapse
догађај деси).
.collapse('hide')
Сакрива склопиви елемент. Враћа позиваоцу пре него што је склопиви елемент заиста сакривен (тј. пре него што се hidden.bs.collapse
догађај деси).
.collapse('dispose')
Уништава колапс елемента.
Догађаји
Боотстрап-ова класа колапса излаже неколико догађаја за спајање на функционалност колапса.
Тип догађаја | Опис |
---|---|
схов.бс.цоллапсе | Овај догађај се покреће одмах када show се позове метод инстанце. |
приказано.бс.цоллапсе | Овај догађај се покреће када се кориснику учини видљивим елемент сажимања (сачекаће да се ЦСС транзиције доврше). |
хиде.бс.цоллапсе | Овај догађај се покреће одмах када се hide метода позове. |
хидден.бс.цоллапсе | Овај догађај се покреће када је елемент сажимања сакривен од корисника (сачекаће да се ЦСС транзиције доврше). |
$('#myCollapsible').on('hidden.bs.collapse', function () {
// do something...
})