Guqula ukubonakala komxholo kuyo yonke iprojekthi yakho ngeeklasi ezimbalwa kunye neeplagi zethu zeJavaScript.

Ingaba isebenza kanjani

Iplagi yeJavaScript yokudilika isetyenziselwa ukubonisa nokufihla umxholo. Amaqhosha okanye iiankile zisetyenziswa njengezitshisi ezizotywe kwimaphu kwizinto ezithile oziguqulayo. Ukuthoba isiqalelo kuyakuphilisa i heightukusuka kwixabiso layo langoku ukuya kwi 0. Unikwe indlela iCSS ephatha ngayo oopopayi, awukwazi ukusebenzisa paddinginto .collapseethile. Endaweni yoko, sebenzisa iklasi njengento ezimeleyo yokusonga.

Isiphumo soopopayi seli candelo sixhomekeke prefers-reduced-motionkumbuzo wemidiya. Jonga icandelo leentshukumo ezincitshisiweyo kuxwebhu lwethu lofikelelo .

Umzekelo

Cofa amaqhosha angezantsi ukuze ubonise kwaye ufihle enye into ngotshintsho lweklasi:

  • .collapseifihla umxholo
  • .collapsingisetyenziswa ngexesha lotshintsho
  • .collapse.showibonisa umxholo

Ngokuqhelekileyo, sincoma ukusebenzisa iqhosha data-targetelinophawu. Ngelixa ungacetyiswanga ukusuka kwindawo yokujonga yesemantic, ungasebenzisa ikhonkco kunye hrefnophawu (kunye ne role="button"). Kuzo zombini ezi meko, data-toggle="collapse"kuyafuneka.

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>

Ukuthe tye

Iplagin yokudilika ikwaxhasa ukudilika okuthe tye. Yongeza .widthudidi lwesilungisi kwinguqu widthendaweni heightkwaye usete u a widthkwinto yomntwana kwangoko. Zive ukhululekile ukubhala eyakho iSass yesiko, sebenzisa izitayile ezingaphakathi, okanye usebenzise izixhobo zethu zobubanzi .

Nceda uqaphele ukuba lo mzekelo ungezantsi min-heightuneseti yokuphepha ukupeyintwa kwakhona okugqithisileyo kumaxwebhu ethu, oku akufuneki ngokucacileyo. Kuphela widthinto efunekayo kumntwana.

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>

Iithagethi ezininzi

I-A <button>okanye <a>ingabonisa kwaye ifihle izinto ezininzi ngokuzibhekisa kunye nomkhethi we-JQuery kuyo hrefokanye data-targetuphawu. Zininzi <button>okanye <a>zinokubonisa kwaye zifihle into ukuba nganye ibhekisa kuyo hrefkunye data-targetnophawu

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>

Umzekelo weAccordion

Usebenzisa icandelo lekhadi , unokwandisa ukuziphatha kokudilika okungagqibekanga ukwenza iakhodiyoni. Ukufezekisa ngokufanelekileyo isitayile se-accordion, qiniseka ukuba usebenzisa .accordionnjenge-wrapper.

Omnye umxholo wesibambi-ndawo wephaneli yokuqala yekhokodiyoni. Le ndawo yolawulo iboniswa ngokungagqibekanga, enkosi .showkwiklasi.

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>

Ukufikeleleka

Qinisekisa ukuba wongeza aria-expandedkwinto yolawulo. Olu phawu lubonisa ngokucacileyo imeko yangoku yento eqengqelekayo ebotshelelwe kulawulo kwizifundi zesikrini kunye nobuchwephesha obuncedisayo obufanayo. Ukuba isiqalelo esiqengqelekayo sivalwe ngokungagqibekanga, uphawu loyelelwano lwento yolawulo kufuneka lube nexabiso aria-expanded="false". Ukuba usete into eqengqelekayo ukuba ivuleke ngokungagqibekanga usebenzisa showiklasi, misela aria-expanded="true"kulawulo endaweni yoko. Iplagi iya kuzitshintsha ngokuzenzekela olu phawu kulawulo olusekwe ekubeni ngaba into eqengqelekayo ivuliwe okanye ayivalwanga (ngeJavaScript, okanye kuba umsebenzisi eqalise enye into yolawulo nayo ibotshelelwe kwinto enye eqengqelekayo). Ukuba isiqalelo solawulo se HTML asiloqhosha (umzekelo, i <a>okanye <div>), uphawurole="button"kufuneka yongezwe kwisiqalelo.

Ukuba isiqalelo sakho solawulo sijolise kwinto enye eqengqelekayo - oko kukuthi data-targetuphawu lwalatha idkumkhethi - kufuneka wongeze aria-controlsuphawu lwento yolawulo, equlathe idinto eqengqelekayo. Izifundi zesikrini zanamhlanje kunye neetekhnoloji ezincedisayo ezifanayo zisebenzisa olu phawu ukunika abasebenzisi iindlela ezimfutshane ukuya ngqo kwinto egobekayo ngokwayo.

Qaphela ukuba uphumezo lwangoku lweBootstrap aluquki udibaniso olwahlukeneyo lwebhodi yezitshixo ezichazwe kwi- ARIA yoBugunyaziso bokuSebenza ipateni yeakhordion - kuya kufuneka uzibandakanye ngokwakho kunye neJavaScript yesiko.

Ukusetyenziswa

Iplagin yokuwa isebenzisa iiklasi ezimbalwa ukuphatha ukuphakamisa okunzima:

  • .collapseifihla umxholo
  • .collapse.showibonisa umxholo
  • .collapsingyongezwa xa inguqu iqala, kwaye isuswe xa igqibile

Ezi klasi zinokufumaneka kwi _transitions.scss.

Ngeempawu zedatha

Yongeza nje data-toggle="collapse"kunye no data-target-a kwisiqalelo ukwabela ngokuzenzekelayo ulawulo lwento enye okanye ezininzi eziqengqelekayo. Uphawu data-targetloyelelwano lwamkela umkhethi we-CSS ukuze kufakwe ukutshitshiswa. Qinisekisa ukuba wongeza iklasi collapsekwinto eqengqelekayo. Ukuba ungathanda ukuba ivuleke ngokungagqibekanga, yongeza udidi olongezelelweyo show.

Ukongeza ulawulo lweqela olufana ne-accordion kwindawo egotywayo, yongeza uphawu loyelelwano lwedatha data-parent="#selector". Jonga kwidemo ukuze ubone oku kusebenza.

NgeJavaScript

Vula ngesandla nge:

$('.collapse').collapse()

Iinketho

Iinketho zinokugqithiswa ngeempawu zedatha okanye iJavaScript. Kuphawu lwedatha, faka igama lokhetho ku data-, njengakwi data-parent="".

Igama Uhlobo Ukuhlala kukho Inkcazo
umzali umkhethi | jQuery into | Into ye-DOM bubuxoki Ukuba umzali unikiwe, ke zonke izinto eziqengqelekayo phantsi komzali ochaziweyo ziya kuvalwa xa le nto iqengqelekayo iboniswa. (efana nokuziphatha kwe-accordion yendabuko - oku kuxhomekeke cardkwiklasi). Uphawu kufuneka lubekwe kwindawo ekujoliswe kuyo egotywayo.
guqula boolean yinyani Qwalasela into eqengqelekayo kubizo

Iindlela

Iindlela zeAsynchronous kunye notshintsho

Zonke iindlela ze-API zi -asynchronous kwaye ziqala utshintsho . Babuyela kumnxeba ngokukhawuleza nje ukuba inguqu iqalisiwe kodwa ingekapheli . Ukongeza, ukufowunelwa kwendlela kwicandelo lenguquko kuya kuhoywa .

Jonga uxwebhu lwethu lweJavaScript ngolwazi olungakumbi .

.collapse(options)

Yenza umxholo wakho ube yinto eqengqelekayo. Yamkela iinketho ozikhethelayo object.

$('#myCollapsible').collapse({
  toggle: false
})

.collapse('toggle')

Iguqulela into eqengqelekayo ukuze iboniswe okanye ifihliwe. Ibuyisela kumnxeba phambi kokuba into eqengqelekayo iboniswe okanye ifihliwe (okt phambi kokuba isiganeko shown.bs.collapseokanye hidden.bs.collapseisiganeko senzeke).

.collapse('show')

Ibonisa into eqengqelekayo. Ibuyisela kumnxeba phambi kokuba into eqengqelekayo iboniswe (okt phambi kokuba shown.bs.collapseisiganeko senzeke).

.collapse('hide')

Ifihla into eqengqelekayo. Ibuyisela kumnxebi phambi kokuba into eqengqelekayo ifihlwe (okt phambi kokuba hidden.bs.collapseisiganeko senzeke).

.collapse('dispose')

Itshabalalisa ukuwa kwento.

Iziganeko

Iklasi yokuwa yeBootstrap iveza iminyhadala embalwa yokuhuka ekusebenzeni kokuwa.

Uhlobo loMnyhadala Inkcazo
bonisa.bs.collapse Esi siganeko sivutha ngokukhawuleza xa showkubizwa indlela yomzekelo.
ibonisiwe.bs.collapse Esi siganeko sigxothwa xa into yokudilika yenziwe yabonakala kumsebenzisi (iya kulinda iinguqu zeCSS ukuba zigqibe).
fihla.bs.coqa Esi siganeko sigxothwa ngokukhawuleza xa hideindlela sele ibizwa.
efihliweyo.bs.ukudilika Esi siganeko sigxothwa xa into yokudilika ifihliwe kumsebenzisi (iya kulinda iinguqu zeCSS ukuba zigqibe).
$('#myCollapsible').on('hidden.bs.collapse', function () {
  // do something...
})