Lewati ke konten utama Lewati ke navigasi dokumen

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 heightdari nilai saat ini ke 0. Mengingat bagaimana CSS menangani animasi, Anda tidak dapat menggunakan paddingelemen .collapse. Sebagai gantinya, gunakan kelas sebagai elemen pembungkus independen.

Efek animasi komponen ini bergantung pada prefers-reduced-motionkueri media. Lihat bagian pengurangan gerakan pada dokumentasi aksesibilitas kami .

Contoh

Klik tombol di bawah ini untuk menampilkan dan menyembunyikan elemen lain melalui perubahan kelas:

  • .collapsemenyembunyikan konten
  • .collapsingditerapkan selama transisi
  • .collapse.showmenunjukkan konten

Umumnya, kami menyarankan untuk menggunakan tombol dengan data-bs-targetatribut. Meskipun tidak direkomendasikan dari sudut pandang semantik, Anda juga dapat menggunakan tautan dengan hrefatribut (dan a role="button"). Dalam kedua kasus, data-bs-toggle="collapse"diperlukan.

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>

Beberapa target

A <button>or <a>dapat menampilkan dan menyembunyikan beberapa elemen dengan mereferensikannya dengan pemilih di atribut hrefor -nya. data-bs-targetBeberapa <button>atau <a>dapat menampilkan dan menyembunyikan elemen jika masing-masing mereferensikannya dengan atribut hrefornyadata-bs-target

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>

Aksesibilitas

Pastikan untuk menambahkan aria-expandedke 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 showkelas, 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-bs-targetatribut menunjuk ke idpemilih – Anda harus menambahkan aria-controlsatribut ke elemen kontrol, yang berisi idelemen 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 opsional yang dijelaskan dalam pola akordeon WAI-ARIA Authoring Practices 1.1 - Anda harus menyertakannya sendiri dengan JavaScript khusus.

Kelancangan

Variabel

$transition-collapse:         height .35s ease;

Kelas

Ciutkan kelas transisi dapat ditemukan scss/_transitions.scsskarena ini dibagi di beberapa komponen (runtuh dan akordeon).

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

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

Penggunaan

Plugin collapse menggunakan beberapa kelas untuk menangani pekerjaan berat:

  • .collapsemenyembunyikan isinya
  • .collapse.showmenunjukkan isinya
  • .collapsingditambahkan saat transisi dimulai, dan dihapus saat transisi selesai

Kelas-kelas ini dapat ditemukan di _transitions.scss.

Melalui atribut data

Cukup tambahkan data-bs-toggle="collapse"dan a data-bs-targetke elemen untuk secara otomatis menetapkan kontrol satu atau lebih elemen yang dapat diciutkan. Atribut data-bs-targetmenerima pemilih CSS untuk menerapkan penciutan. Pastikan untuk menambahkan kelas collapseke 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-bs-parent="#selector". Lihat demo untuk melihat ini beraksi.

Melalui JavaScript

Aktifkan secara manual dengan:

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

Pilihan

Opsi dapat diteruskan melalui atribut data atau JavaScript. Untuk atribut data, tambahkan nama opsi ke data-bs-, seperti pada data-bs-parent="".

Nama Jenis Bawaan Keterangan
parent pemilih | objek jQuery | elemen DOM false 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 cardkelasnya). Atribut harus ditetapkan pada area target yang dapat dilipat.
toggle boolean true 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 .

Mengaktifkan konten Anda sebagai elemen yang dapat diciutkan. Menerima opsi opsional object.

Anda dapat membuat instance collapse dengan konstruktor, misalnya:

var myCollapse = document.getElementById('myCollapse')
var bsCollapse = new bootstrap.Collapse(myCollapse, {
  toggle: false
})
metode Keterangan
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.collapseatau hidden.bs.collapseperistiwa terjadi).
show Menampilkan elemen yang dapat dilipat. Kembali ke pemanggil sebelum elemen yang dapat diciutkan benar-benar ditampilkan (misalnya, sebelum shown.bs.collapseperistiwa terjadi).
hide Menyembunyikan elemen yang dapat dilipat. Kembali ke pemanggil sebelum elemen yang dapat diciutkan sebenarnya disembunyikan (misalnya, sebelum hidden.bs.collapseperistiwa terjadi).
dispose Menghancurkan keruntuhan elemen. (Menghapus data yang tersimpan pada elemen DOM)
getInstance Metode statis yang memungkinkan Anda untuk mendapatkan instance keruntuhan yang terkait dengan elemen DOM, Anda dapat menggunakannya seperti ini:bootstrap.Collapse.getInstance(element)
getOrCreateInstance Metode statis yang mengembalikan instance keruntuhan yang terkait dengan elemen DOM atau membuat yang baru jika tidak diinisialisasi. Anda dapat menggunakannya seperti ini:bootstrap.Collapse.getOrCreateInstance(element)

Acara

Kelas keruntuhan Bootstrap memperlihatkan beberapa peristiwa untuk menghubungkan ke fungsionalitas keruntuhan.

Jenis acara Keterangan
show.bs.collapse Acara ini langsung aktif ketika showmetode instance dipanggil.
shown.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 hidemetode telah dipanggil.
hidden.bs.collapse Peristiwa ini dipicu ketika elemen penciutan telah disembunyikan dari pengguna (akan menunggu transisi CSS selesai).
var myCollapsible = document.getElementById('myCollapsible')
myCollapsible.addEventListener('hidden.bs.collapse', function () {
  // do something...
})