Hrun
Skiptu um sýnileika efnis í verkefninu þínu með nokkrum námskeiðum og JavaScript viðbætur okkar.
Hvernig það virkar
Samruna JavaScript viðbótin er notuð til að sýna og fela efni. Hnappar eða akkeri eru notuð sem kveikjur sem eru varpaðar á tiltekna þætti sem þú skiptir um. Með því að draga saman frumefni verður hreyfimyndin height
frá núverandi gildi þess í 0
. Í ljósi þess hvernig CSS meðhöndlar hreyfimyndir geturðu ekki notað padding
á .collapse
frumefni. Í staðinn skaltu nota bekkinn sem sjálfstæðan umbúðaþátt.
prefers-reduced-motion
miðlunarfyrirspurninni. Sjá
kaflann um minni hreyfingu í aðgengisskjölunum okkar .
Dæmi
Smelltu á hnappana hér að neðan til að sýna og fela annan þátt með bekkjarbreytingum:
.collapse
felur efni.collapsing
er beitt við umskipti.collapse.show
sýnir efni
Almennt mælum við með því að nota hnapp með data-target
eigindinni. Þó ekki sé mælt með merkingarfræðilegu sjónarhorni geturðu líka notað tengil með href
eigindinni (og a role="button"
). Í báðum tilvikum data-toggle="collapse"
er krafist.
<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>
Lárétt
Hrunviðbótin styður einnig lárétta hrun. Bættu við .width
breytingaflokknum til að skipta um í width
staðinn fyrir height
og stilltu a width
á strax undirlag. Ekki hika við að skrifa þitt eigið sérsniðna Sass, notaðu innbyggða stíla eða notaðu breiddartólin okkar .
min-height
sett til að forðast óhóflegar endurmálun í skjölunum okkar, þá er þetta ekki beinlínis krafist.
Aðeins width
er áskilið á barninu.
<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>
Mörg skotmörk
A <button>
eða <a>
getur sýnt og falið marga þætti með því að vísa til þeirra með JQuery vali í eigindinni href
eða data-target
eigindinni. Margfeldi <button>
eða <a>
getur sýnt og falið frumefni ef hver vísar í það með eigin href
eða data-target
eigindinni sinni
<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>
Harmonikku dæmi
Með því að nota kortaíhlutinn geturðu framlengt sjálfgefna fallhegðun til að búa til harmonikku. Til að ná fram harmonikkustílnum á réttan hátt, vertu viss um að nota .accordion
sem umbúðir.
.show
bekknum.
<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>
Aðgengi
Vertu viss um að bæta aria-expanded
við stjórnhlutanum. Þessi eiginleiki miðlar beinlínis núverandi ástandi samanbrjótanlegra þátta sem er bundinn við stýringu við skjálesara og svipaða hjálpartækni. Ef sambrjótanlegu einingunni er sjálfgefið lokað ætti eigindin á stýrieiningunni að hafa gildið aria-expanded="false"
. Ef þú hefur stillt samanbrjótanlega þáttinn þannig að hann sé opinn sjálfgefið með því að nota show
bekkinn, stilltu aria-expanded="true"
þá á stýringuna í staðinn. Viðbótin mun sjálfkrafa skipta um þessa eigind á stjórninni byggt á því hvort sambrjótanlegur þáttur hefur verið opnaður eða ekki (með JavaScript, eða vegna þess að notandinn kveikti á öðrum stjórnhluta sem einnig er bundinn við sama samanbrjótanlega þáttinn). Ef HTML-eining stjórnunareiningarinnar er ekki hnappur (td an <a>
eða <div>
), eigindinrole="button"
ætti að bæta við þáttinn.
Ef stjórneiningin þín miðar á einn samanbrjótanlegan þátt – þ.e. data-target
eigindin vísar á id
veljara – ættirðu að bæta aria-controls
eigindinni við stjórneininguna, sem inniheldur id
sambrjótanlega þáttinn. Nútíma skjálesarar og svipuð hjálpartækni nýta sér þennan eiginleika til að veita notendum viðbótarflýtileiðir til að fletta beint að sjálfum samanbrjótanlegum þættinum.
Athugaðu að núverandi útfærsla Bootstrap nær ekki yfir hinar ýmsu lyklaborðssamskipti sem lýst er í ARIA Authoring Practices Guide harmonikkumynstrinu - þú verður að láta þær fylgja sjálfur með sérsniðnu JavaScript.
Notkun
Hrunviðbótin notar nokkra flokka til að takast á við þungar lyftingar:
.collapse
felur innihaldið.collapse.show
sýnir innihaldið.collapsing
er bætt við þegar umskiptin hefjast og fjarlægð þegar þeim lýkur
Þessa flokka er að finna í _transitions.scss
.
Í gegnum gagnaeiginleika
Bættu bara við data-toggle="collapse"
og a data-target
við þáttinn til að úthluta sjálfkrafa stjórn á einum eða fleiri samanbrjótanlegum þáttum. Eigindin data-target
samþykkir CSS val til að beita hruninu á. Vertu viss um að bæta bekknum collapse
við samanbrjótanlega þáttinn. Ef þú vilt að það opni sjálfgefið skaltu bæta við viðbótarflokknum show
.
Til að bæta harmonikkulíkri hópstjórnun við samanbrjótanlegt svæði skaltu bæta við gagnaeigindinni data-parent="#selector"
. Skoðaðu kynninguna til að sjá þetta í aðgerð.
Með JavaScript
Virkja handvirkt með:
$('.collapse').collapse()
Valmöguleikar
Hægt er að senda valkosti í gegnum gagnaeiginleika eða JavaScript. Fyrir gagnaeiginleika skaltu bæta heiti valkostsins við data-
, eins og í data-parent=""
.
Nafn | Tegund | Sjálfgefið | Lýsing |
---|---|---|---|
foreldri | veljara | jQuery hlutur | DOM þáttur | rangt | Ef foreldri er gefið upp, þá verður öllum samanbrjótanlegum þáttum undir tilgreindu foreldri lokað þegar þetta samanbrjótanlega atriði er sýnt. (svipað og hefðbundin harmonikkuhegðun - þetta er háð card bekknum). Eigindin verður að vera stillt á samanbrjótanlegu marksvæðinu. |
skipta | Boolean | satt | Kveikir á samanbrjótanlegu þættinum við ákall |
Aðferðir
Ósamstilltar aðferðir og umskipti
Allar API aðferðir eru ósamstilltar og hefja umskipti . Þeir snúa aftur til þess sem hringir um leið og umskiptin eru hafin en áður en þeim lýkur . Að auki verður aðferðakall á umbreytingarhluta hunsað .
.collapse(options)
Virkjar efnið þitt sem samanbrjótanlegan þátt. Samþykkir valfrjálsa valkosti object
.
$('#myCollapsible').collapse({
toggle: false
})
.collapse('toggle')
Skiptir um að fellanlegur þáttur sé sýndur eða falinn. Snýr aftur til þess sem hringir áður en fellanlegur þáttur hefur verið sýndur eða falinn (þ.e. áður en atburðurinn shown.bs.collapse
eða hidden.bs.collapse
á sér stað).
.collapse('show')
Sýnir samanbrjótanlegan þátt. Snýr aftur til þess sem hringir áður en fellanlegur þáttur hefur verið sýndur (þ.e. áður en shown.bs.collapse
atburðurinn á sér stað).
.collapse('hide')
Felur samanbrjótanlegt frumefni. Snýr aftur til þess sem hringir áður en fellanlegur þáttur hefur raunverulega verið falinn (þ.e. áður en hidden.bs.collapse
atburðurinn á sér stað).
.collapse('dispose')
Eyðileggur hrun frumefnis.
Viðburðir
Hrunflokkur Bootstrap afhjúpar nokkra atburði til að tengja sig við hrunvirkni.
Tegund atburðar | Lýsing |
---|---|
sýna.bs.hrun | Þessi atburður ræsir strax þegar show tilviksaðferðin er kölluð. |
sýnt.bs.hrun | Þessi atburður er ræstur þegar hrunþáttur hefur verið gerður sýnilegur notanda (mun bíða eftir að CSS umbreytingum ljúki). |
fela.bs.hrynja | Þessi atburður er ræstur strax þegar hide aðferðin hefur verið kölluð. |
falið.bs.hrun | Þessi atburður er ræstur þegar hrunþáttur hefur verið falinn fyrir notandanum (bíður eftir að CSS umbreytingum ljúki). |
$('#myCollapsible').on('hidden.bs.collapse', function () {
// do something...
})