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-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-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-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ð .widthbreytingaflokknum til að skipta um í widthstaðinn fyrir heightog 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 .

Vinsamlegast athugaðu að þó að dæmið hér að neðan hafi min-heightsett til að forðast óhóflegar endurmálun í skjölunum okkar, þá er þetta ekki beinlínis krafist. Aðeins widther áskilið á barninu.

This is some placeholder content for a horizontal collapse. It's hidden by default and shown when triggered.
<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 hrefeða data-targeteigindinni. Margfeldi <button>eða <a>getur sýnt og falið frumefni ef hver vísar í það með eigin hrefeða data-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-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 .accordionsem umbúðir.

Nokkuð staðgengilsefni fyrir fyrsta harmonikkuborðið. Þetta spjald er sjálfgefið sýnt, þökk sé .showbekknum.

Some placeholder content for the second accordion panel. This panel is hidden by default.

And lastly, the placeholder content for the third and final accordion panel. This panel is hidden by default.
<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-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-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 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:

  • .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-toggle="collapse"og a data-targetvið þáttinn til að úthluta sjálfkrafa stjórn á einum eða fleiri samanbrjótanlegum þáttum. Eigindin data-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-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áð cardbekknum). 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ð .

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

.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.collapseeð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.collapseatburð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.collapseatburð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 showtilviksað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 hideað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...
})