Jatuh
Alihkan visibilitas konten di seluruh proyek Anda dengan beberapa kelas dan plugin JavaScript kami.
Bagaimana itu bekerja
Plugin JavaScript runtuh digunakan untuk menampilkan dan menyembunyikan konten. Tombol atau jangkar digunakan sebagai pemicu yang dipetakan ke elemen tertentu yang Anda aktifkan. Menciutkan elemen akan menganimasikan height
dari nilai saat ini ke 0
. Mengingat bagaimana CSS menangani animasi, Anda tidak dapat menggunakan padding
elemen .collapse
. Sebagai gantinya, gunakan kelas sebagai elemen pembungkus independen.
prefers-reduced-motion
kueri media. Lihat bagian
pengurangan gerakan pada dokumentasi aksesibilitas kami .
Contoh
Klik tombol di bawah ini untuk menampilkan dan menyembunyikan elemen lain melalui perubahan kelas:
.collapse
menyembunyikan konten.collapsing
diterapkan selama transisi.collapse.show
menunjukkan konten
Umumnya, kami menyarankan untuk menggunakan tombol dengan data-target
atribut. Meskipun tidak direkomendasikan dari sudut pandang semantik, Anda juga dapat menggunakan tautan dengan href
atribut (dan a role="button"
). Dalam kedua kasus, data-toggle="collapse"
diperlukan.
<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>
Horisontal
Plugin keruntuhan juga mendukung penciutan horizontal. Tambahkan .width
kelas pengubah untuk mentransisikan width
alih-alih height
dan atur a width
pada elemen turunan langsung. Jangan ragu untuk menulis Sass kustom Anda sendiri, gunakan gaya sebaris, atau gunakan utilitas lebar kami .
min-height
seperangkat untuk menghindari pengecatan ulang yang berlebihan dalam dokumen kami, ini tidak secara eksplisit diperlukan.
Hanya width
elemen anak on yang diperlukan.
<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>
Beberapa target
A <button>
or <a>
dapat menampilkan dan menyembunyikan beberapa elemen dengan mereferensikannya dengan pemilih JQuery di atribut href
or -nya. data-target
Beberapa <button>
atau <a>
dapat menampilkan dan menyembunyikan elemen jika masing-masing mereferensikannya dengan atribut href
ornyadata-target
<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>
Contoh akordeon
Dengan menggunakan komponen kartu , Anda dapat memperluas perilaku penciutan default untuk membuat akordeon. Untuk mencapai gaya akordeon dengan benar, pastikan untuk menggunakannya .accordion
sebagai pembungkus.
.show
kelasnya.
<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>
Aksesibilitas
Pastikan untuk menambahkan aria-expanded
ke elemen kontrol. Atribut ini secara eksplisit menyampaikan status elemen yang dapat diciutkan saat ini yang terkait dengan kontrol ke pembaca layar dan teknologi bantu serupa. Jika elemen yang dapat diciutkan ditutup secara default, atribut pada elemen kontrol harus memiliki nilai aria-expanded="false"
. Jika Anda telah menyetel elemen yang dapat diciutkan menjadi terbuka secara default menggunakan show
kelas, atur aria-expanded="true"
pada kontrol sebagai gantinya. Plugin akan secara otomatis mengaktifkan atribut ini pada kontrol berdasarkan apakah elemen yang dapat dilipat telah dibuka atau ditutup (melalui JavaScript, atau karena pengguna memicu elemen kontrol lain yang juga terikat ke elemen yang dapat dilipat yang sama). Jika elemen HTML elemen kontrol bukan tombol (mis., an <a>
atau <div>
), atributrole="button"
harus ditambahkan ke elemen.
Jika elemen kontrol Anda menargetkan satu elemen yang dapat dilipat – yaitu data-target
atribut menunjuk ke id
pemilih – Anda harus menambahkan aria-controls
atribut ke elemen kontrol, yang berisi id
elemen yang dapat dilipat. Pembaca layar modern dan teknologi bantu serupa menggunakan atribut ini untuk memberi pengguna pintasan tambahan untuk menavigasi langsung ke elemen yang dapat diciutkan itu sendiri.
Perhatikan bahwa implementasi Bootstrap saat ini tidak mencakup berbagai interaksi keyboard yang dijelaskan dalam pola akordeon Panduan Praktik Penulisan ARIA - Anda harus menyertakannya sendiri dengan JavaScript khusus.
Penggunaan
Plugin collapse menggunakan beberapa kelas untuk menangani pekerjaan berat:
.collapse
menyembunyikan isinya.collapse.show
menunjukkan isinya.collapsing
ditambahkan saat transisi dimulai, dan dihapus saat transisi selesai
Kelas-kelas ini dapat ditemukan di _transitions.scss
.
Melalui atribut data
Cukup tambahkan data-toggle="collapse"
dan a data-target
ke elemen untuk secara otomatis menetapkan kontrol satu atau lebih elemen yang dapat diciutkan. Atribut data-target
menerima pemilih CSS untuk menerapkan penciutan. Pastikan untuk menambahkan kelas collapse
ke elemen yang dapat diciutkan. Jika Anda ingin default terbuka, tambahkan kelas tambahan show
.
Untuk menambahkan manajemen grup seperti akordeon ke area yang dapat diciutkan, tambahkan atribut data data-parent="#selector"
. Lihat demo untuk melihat ini beraksi.
Melalui JavaScript
Aktifkan secara manual dengan:
$('.collapse').collapse()
Pilihan
Opsi dapat diteruskan melalui atribut data atau JavaScript. Untuk atribut data, tambahkan nama opsi ke data-
, seperti pada data-parent=""
.
Nama | Jenis | Bawaan | Keterangan |
---|---|---|---|
induk | pemilih | objek jQuery | elemen DOM | Salah | Jika induk disediakan, maka semua elemen yang dapat diciutkan di bawah induk yang ditentukan akan ditutup saat item yang dapat dilipat ini ditampilkan. (mirip dengan perilaku akordeon tradisional - ini tergantung pada card kelasnya). Atribut harus ditetapkan pada area target yang dapat dilipat. |
beralih | boolean | BENAR | Mengaktifkan elemen yang dapat diciutkan pada doa |
Metode
Metode dan transisi asinkron
Semua metode API tidak sinkron dan memulai transisi . Mereka kembali ke penelepon segera setelah transisi dimulai tetapi sebelum berakhir . Selain itu, pemanggilan metode pada komponen transisi akan diabaikan .
Lihat dokumentasi JavaScript kami untuk informasi lebih lanjut .
.collapse(options)
Mengaktifkan konten Anda sebagai elemen yang dapat diciutkan. Menerima opsi opsional object
.
$('#myCollapsible').collapse({
toggle: false
})
.collapse('toggle')
Mengalihkan elemen yang dapat diciutkan ke ditampilkan atau disembunyikan. Kembali ke pemanggil sebelum elemen yang dapat dilipat benar-benar ditampilkan atau disembunyikan (yaitu sebelum shown.bs.collapse
atau hidden.bs.collapse
peristiwa terjadi).
.collapse('show')
Menampilkan elemen yang dapat dilipat. Kembali ke pemanggil sebelum elemen yang dapat dilipat benar-benar ditampilkan (yaitu sebelum shown.bs.collapse
peristiwa terjadi).
.collapse('hide')
Menyembunyikan elemen yang dapat dilipat. Kembali ke pemanggil sebelum elemen yang dapat diciutkan sebenarnya disembunyikan (yaitu sebelum hidden.bs.collapse
peristiwa terjadi).
.collapse('dispose')
Menghancurkan keruntuhan elemen.
Acara
Kelas keruntuhan Bootstrap memperlihatkan beberapa peristiwa untuk menghubungkan ke fungsionalitas keruntuhan.
Jenis Acara | Keterangan |
---|---|
show.bs.collapse | Acara ini langsung aktif ketika show metode instance dipanggil. |
ditampilkan.bs.collapse | Peristiwa ini dipicu ketika elemen penciutan telah dibuat terlihat oleh pengguna (akan menunggu transisi CSS selesai). |
hide.bs.collapse | Acara ini dipecat segera ketika hide metode telah dipanggil. |
hidden.bs.collapse | Peristiwa ini dipicu ketika elemen penciutan telah disembunyikan dari pengguna (akan menunggu transisi CSS selesai). |
$('#myCollapsible').on('hidden.bs.collapse', function () {
// do something...
})