Rubuh
Togél pisibilitas eusi dina proyék anjeun sareng sababaraha kelas sareng plugins JavaScript kami.
Kumaha gawéna
Plugin JavaScript runtuh dianggo pikeun nunjukkeun sareng nyumputkeun eusi. Tombol atawa jangkar dipaké salaku pemicu nu dipetakeun ka elemen husus Anjeun toggle. Nurunkeun hiji unsur bakal ngahirupkeun height
tina nilai ayeuna ka 0
. Dibikeun kumaha CSS handles animasi, Anjeun teu bisa make padding
dina .collapse
unsur. Gantina, make kelas salaku unsur wrapping bebas.
prefers-reduced-motion
pamundut média. Tempo
bagian gerak ngurangan tina dokuméntasi aksés kami .
Contona
Pencét tombol di handap pikeun nunjukkeun sareng nyumputkeun unsur sanés ku parobihan kelas:
.collapse
nyumputkeun eusi.collapsing
diterapkeun dina mangsa transisi.collapse.show
nembongkeun eusi
Sacara umum, kami nyarankeun ngagunakeun tombol sareng data-bs-target
atribut. Sanaos henteu disarankeun tina sudut pandang semantik, anjeun ogé tiasa nganggo tautan sareng href
atribut (sareng role="button"
). Dina duanana kasus, éta data-bs-toggle="collapse"
diperlukeun.
<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>
Horizontal
Plugin runtuh ogé ngadukung runtuh horisontal. Tambahkeun .collapse-horizontal
kelas modifier pikeun transisi width
tinimbang height
tur nyetel hiji width
on unsur anak saharita. Ngarasa Luncat nulis Sass custom anjeun sorangan, make gaya inline, atawa ngagunakeun utilitas lebar kami .
min-height
set pikeun ngahindarkeun repaints kaleuleuwihan dina dokumén kami, ieu henteu diperyogikeun sacara eksplisit.
Ngan width
dina elemen anak diperlukeun.
<p>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapseWidthExample" aria-expanded="false" aria-controls="collapseWidthExample">
Toggle width collapse
</button>
</p>
<div style="min-height: 120px;">
<div class="collapse collapse-horizontal" id="collapseWidthExample">
<div class="card card-body" style="width: 300px;">
This is some placeholder content for a horizontal collapse. It's hidden by default and shown when triggered.
</div>
</div>
</div>
Sababaraha udagan
A <button>
atanapi <a>
tiasa nunjukkeun sareng nyumputkeun sababaraha elemen ku ngarujuk kana pamilih dina atribut href
atanapi . data-bs-target
Sababaraha <button>
atanapi <a>
tiasa nunjukkeun sareng nyumputkeun unsur upami aranjeunna masing-masing ngarujuk kana atribut href
atanapi data-bs-target
atributna
<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>
Aksesibilitas
Pastikeun pikeun nambahkeun aria-expanded
kana elemen kontrol. atribut ieu eksplisit conveys kaayaan kiwari unsur collapsible dihijikeun ka kontrol ka pamiarsa layar tur téhnologi pitulung sarupa. Lamun unsur collapsible ditutup sacara standar, atribut dina elemen kontrol kudu boga nilai aria-expanded="false"
. Upami anjeun parantos nyetél unsur anu tiasa dilipat janten kabuka sacara standar nganggo show
kelas, setel aria-expanded="true"
dina kontrol. Plugin bakal otomatis toggle atribut ieu dina kontrol dumasar kana naha atanapi henteu unsur collapsible geus dibuka atawa ditutup (via JavaScript, atawa kusabab pamaké micu elemen kontrol sejen ogé dihijikeun ka elemen collapsible sarua). Lamun elemen HTML kontrol urang teu tombol (misalna hiji <a>
atawa <div>
), atributrole="button"
kudu ditambahkeun kana unsur.
Lamun unsur kontrol anjeun nargétkeun hiji unsur collapsible tunggal - ie data-bs-target
atribut nujul ka id
pamilih - Anjeun kedah nambahkeun aria-controls
atribut ka elemen kontrol, ngandung id
unsur collapsible. Pamiarsa layar modéren sareng téknologi pitulung anu sami ngagunakeun atribut ieu pikeun nyayogikeun potong kompas tambahan pikeun pangguna pikeun langsung napigasi ka unsur anu tiasa dilipat.
Catet yén palaksanaan Bootstrap ayeuna henteu nutupan rupa-rupa interaksi keyboard opsional anu dijelaskeun dina pola akordion Panduan Praktek Pangarang ARIA - anjeun kedah ngalebetkeun ieu sorangan sareng JavaScript khusus.
Sass
Variabel
$transition-collapse: height .35s ease;
$transition-collapse-width: width .35s ease;
Kelas
Kelas transisi runtuh tiasa dipendakan dina scss/_transitions.scss
sabab ieu dibagi kana sababaraha komponén (runtuh sareng akordion).
.collapse {
&:not(.show) {
display: none;
}
}
.collapsing {
height: 0;
overflow: hidden;
@include transition($transition-collapse);
&.collapse-horizontal {
width: 0;
height: auto;
@include transition($transition-collapse-width);
}
}
Pamakéan
Plugin runtuh ngagunakeun sababaraha kelas pikeun nanganan angkat beurat:
.collapse
nyumputkeun eusi.collapse.show
nembongkeun eusi.collapsing
ditambahkeun nalika transisi dimimitian, sarta dihapus nalika rengse
kelas ieu bisa kapanggih dina _transitions.scss
.
Via atribut data
Ngan tambahkeun data-bs-toggle="collapse"
na a data-bs-target
kana unsur pikeun otomatis napelkeun kadali hiji atawa leuwih elemen collapsible. Atribut data-bs-target
nampi pamilih CSS pikeun nerapkeun runtuhna. Pastikeun pikeun nambahkeun kelas collapse
ka elemen collapsible. Upami anjeun hoyong kabuka standar, tambahkeun kelas tambahan show
.
Pikeun nambahkeun manajemén grup kawas akordion ka wewengkon collapsible, tambahkeun atribut data data-bs-parent="#selector"
. Tingal halaman akordion kanggo inpormasi lengkep.
Ngaliwatan JavaScript
Aktipkeun sacara manual nganggo:
const collapseElementList = document.querySelectorAll('.collapse')
const collapseList = [...collapseElementList].map(collapseEl => new bootstrap.Collapse(collapseEl))
Pilihan
Salaku pilihan bisa diliwatan via atribut data atawa JavaScript, anjeun bisa append hiji ngaran pilihan pikeun data-bs-
, sakumaha dina data-bs-animation="{value}"
. Pastikeun pikeun ngarobah tipe kasus tina ngaran pilihan tina " camelCase " pikeun " kebab-case " nalika ngalirkeun pilihan ngaliwatan atribut data. Contona, make data-bs-custom-class="beautifier"
tinimbang data-bs-customClass="beautifier"
.
Salaku Bootstrap 5.2.0, sadaya komponén ngarojong hiji atribut data ditangtayungan eksperimendata-bs-config
nu bisa imah konfigurasi komponén basajan salaku string JSON. Lamun hiji unsur boga data-bs-config='{"delay":0, "title":123}'
jeung data-bs-title="456"
atribut, nilai final title
bakal 456
jeung atribut data misah bakal override nilai dibikeun dina data-bs-config
. Salaku tambahan, atribut data anu aya tiasa ngeusian nilai JSON sapertos data-bs-delay='{"show":0,"hide":150}'
.
Ngaran | Tipe | Default | Katerangan |
---|---|---|---|
parent |
pamilih, unsur DOM | null |
Upami indungna disayogikeun, maka sadaya elemen anu tiasa dilipat dina indungna anu ditangtukeun bakal ditutup nalika item anu tiasa dilipat ieu ditingalikeun. (sarupa jeung kabiasaan akordion tradisional - ieu gumantung kana card kelas). Atribut kedah disetél dina daérah anu tiasa dilipat. |
toggle |
boolean | true |
Toggles unsur collapsible on invocation. |
Métode
Métode Asynchronous sareng transisi
Sadaya metode API henteu sinkron sareng ngamimitian transisi . Aranjeunna balik deui ka panelepon pas transisi dimimitian tapi saméméh éta ends . Sajaba ti éta, panggero métode dina komponén transisi bakal dipaliré .
Tempo dokuméntasi JavaScript kami pikeun inpo nu leuwih lengkep .
Aktipkeun eusi anjeun salaku unsur collapsible. Narima hiji pilihan pilihan object
.
Anjeun tiasa nyiptakeun conto runtuh sareng konstruktor, contona:
const bsCollapse = new bootstrap.Collapse('#myCollapse', {
toggle: false
})
Métode | Katerangan |
---|---|
dispose |
Ngancurkeun runtuhna hiji unsur. (Ngahapus data anu disimpen dina unsur DOM) |
getInstance |
Metodeu statik anu ngamungkinkeun anjeun kéngingkeun conto runtuhna anu aya hubunganana sareng unsur DOM, anjeun tiasa nganggo sapertos kieu: bootstrap.Collapse.getInstance(element) . |
getOrCreateInstance |
Métode statik anu ngabalikeun conto runtuh anu aya hubunganana sareng unsur DOM atanapi ngadamel anu énggal upami henteu diinisialisasi. Anjeun tiasa nganggo sapertos kieu: bootstrap.Collapse.getOrCreateInstance(element) . |
hide |
Nyumputkeun unsur anu tiasa dilipat. Mulih ka nu nelepon saméméh unsur collapsible sabenerna disumputkeun (contona, saméméh hidden.bs.collapse kajadian lumangsung). |
show |
Némbongkeun unsur collapsible. Mulih ka panelepon saméméh unsur collapsible sabenerna geus ditémbongkeun (misalna saméméh shown.bs.collapse acara lumangsung). |
toggle |
Toggles unsur collapsible mun ditémbongkeun atawa disumputkeun. Mulih ka nu nelepon saméméh unsur collapsible sabenerna geus ditémbongkeun atawa disumputkeun (ie saméméh shown.bs.collapse atawa hidden.bs.collapse kajadian lumangsung). |
Kajadian
Kelas runtuh Bootstrap ngungkabkeun sababaraha acara pikeun ngaitkeun kana fungsionalitas runtuh.
Jenis acara | Katerangan |
---|---|
hide.bs.collapse |
Kajadian ieu dipecat langsung nalika hide padika geus disebut. |
hidden.bs.collapse |
Acara ieu dipecat nalika unsur runtuhna disumputkeun ti pangguna (bari ngadagoan transisi CSS réngsé). |
show.bs.collapse |
Kajadian ieu langsung hurung nalika show metode conto disebut. |
shown.bs.collapse |
Kajadian ieu dipecat nalika unsur runtuh parantos katingali ku pangguna (bari ngantosan transisi CSS réngsé). |
const myCollapsible = document.getElementById('myCollapsible')
myCollapsible.addEventListener('hidden.bs.collapse', event => {
// do something...
})