Fara í aðalefni Farðu í skjalaleiðsögn

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 heightfrá núverandi gildi þess í 0. Í ljósi þess hvernig CSS meðhöndlar hreyfimyndir geturðu ekki notað paddingá .collapsefrumefni. Í staðinn skaltu nota bekkinn sem sjálfstæðan umbúðaþátt.

Hreyfiáhrif þessa íhluts eru háð prefers-reduced-motionmið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:

  • .collapsefelur efni
  • .collapsinger beitt við umskipti
  • .collapse.showsýnir efni

Almennt mælum við með því að nota hnapp með data-bs-targeteigindinni. Þó ekki sé mælt með merkingarfræðilegu sjónarhorni geturðu líka notað tengil með hrefeigindinni (og a role="button"). Í báðum tilvikum data-bs-toggle="collapse"er krafist.

Some placeholder content for the collapse component. This panel is hidden by default but revealed when the user activates the relevant trigger.
<p>
  <a class="btn btn-primary" data-bs-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
    Link with href
  </a>
  <button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
    Button with data-bs-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>

Mörg skotmörk

A <button>eða <a>getur sýnt og falið marga þætti með því að vísa til þeirra með veljara í eiginleikum þess hrefeða data-bs-target. Margfeldi <button>eða <a>getur sýnt og falið frumefni ef hver vísar í það með eigin hrefeða data-bs-targeteigindinni sinni

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.
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.
<p>
  <a class="btn btn-primary" data-bs-toggle="collapse" href="#multiCollapseExample1" role="button" aria-expanded="false" aria-controls="multiCollapseExample1">Toggle first element</a>
  <button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#multiCollapseExample2" aria-expanded="false" aria-controls="multiCollapseExample2">Toggle second element</button>
  <button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-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>

Aðgengi

Vertu viss um að bæta aria-expandedvið 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 showbekkinn, 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-bs-targeteigindin vísar á idveljara – ættirðu að bæta aria-controlseigindinni við stjórneininguna, sem inniheldur idsambrjó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 valfrjálsu lyklaborðssamskipti sem lýst er í WAI-ARIA Authoring Practices 1.1 harmonikkumynstrinu - þú þarft að láta þær fylgja sjálfur með sérsniðnu JavaScript.

Sass

Breytur

$transition-collapse:         height .35s ease;

Flokkar

Hægt er að finna hrunskiptaflokka þar scss/_transitions.scsssem þeim er deilt á marga hluti (hrun og harmonikku).

.collapse {
  &:not(.show) {
    display: none;
  }
}

.collapsing {
  height: 0;
  overflow: hidden;
  @include transition($transition-collapse);
}

Notkun

Hrunviðbótin notar nokkra flokka til að takast á við þungar lyftingar:

  • .collapsefelur innihaldið
  • .collapse.showsýnir innihaldið
  • .collapsinger 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-bs-toggle="collapse"og a data-bs-targetvið þáttinn til að úthluta sjálfkrafa stjórn á einum eða fleiri samanbrjótanlegum þáttum. Eigindin data-bs-targetsamþykkir CSS val til að beita hruninu á. Vertu viss um að bæta bekknum collapsevið 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-bs-parent="#selector". Skoðaðu kynninguna til að sjá þetta í aðgerð.

Með JavaScript

Virkja handvirkt með:

var collapseElementList = [].slice.call(document.querySelectorAll('.collapse'))
var collapseList = collapseElementList.map(function (collapseEl) {
  return new bootstrap.Collapse(collapseEl)
})

Valmöguleikar

Hægt er að senda valkosti í gegnum gagnaeiginleika eða JavaScript. Fyrir gagnaeiginleika skaltu bæta heiti valkostsins við data-bs-, eins og í data-bs-parent="".

Nafn Tegund Sjálfgefið Lýsing
parent veljara | jQuery hlutur | DOM þáttur false 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áð cardbekknum). Eigindin verður að vera stillt á samanbrjótanlegu marksvæðinu.
toggle Boolean true 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ð .

Sjá JavaScript skjölin okkar fyrir frekari upplýsingar .

Virkjar efnið þitt sem samanbrjótanlegan þátt. Samþykkir valfrjálsa valkosti object.

Þú getur búið til samdráttartilvik með smiðinum, til dæmis:

var myCollapse = document.getElementById('myCollapse')
var bsCollapse = new bootstrap.Collapse(myCollapse, {
  toggle: false
})
Aðferð Lýsing
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.collapseeða hidden.bs.collapseá sér stað).
show Sýnir samanbrjótanlegan þátt. Snýr aftur til þess sem hringir áður en samanbrjótanlegur þáttur hefur verið sýndur (td áður en shown.bs.collapseatburðurinn á sér stað).
hide Felur samanbrjótanlegt frumefni. Snýr aftur til þess sem hringir áður en fellanlegur þáttur hefur raunverulega verið falinn (td áður en hidden.bs.collapseatburðurinn á sér stað).
dispose Eyðileggur hrun frumefnis. (Fjarlægir vistuð gögn á DOM-einingunni)
getInstance Statísk aðferð sem gerir þér kleift að fá hruntilvikið tengt DOM frumefni, þú getur notað það svona:bootstrap.Collapse.getInstance(element)
getOrCreateInstance Statísk aðferð sem skilar hruntilviki sem tengist DOM-einingu eða býr til nýjan ef það var ekki frumstillt. Þú getur notað það svona:bootstrap.Collapse.getOrCreateInstance(element)

Viðburðir

Hrunflokkur Bootstrap afhjúpar nokkra atburði til að tengja sig við hrunvirkni.

Tegund viðburðar Lýsing
show.bs.collapse Þessi atburður ræsir strax þegar showtilviksaðferðin er kölluð.
shown.bs.collapse Þ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).
hide.bs.collapse Þessi atburður er ræstur strax þegar hideaðferðin hefur verið kölluð.
hidden.bs.collapse Þessi atburður er ræstur þegar hrunþáttur hefur verið falinn fyrir notandanum (bíður eftir að CSS umbreytingum ljúki).
var myCollapsible = document.getElementById('myCollapsible')
myCollapsible.addEventListener('hidden.bs.collapse', function () {
  // do something...
})