ئاساسلىق مەزمۇنغا ئاتلاڭ Docs يول باشلاش
Check
in English

يىمىرىلىش

بىر قانچە سىنىپ ۋە JavaScript قىستۇرمىلىرىمىز ئارقىلىق تۈرنىڭ مەزمۇنىنىڭ كۆرۈنۈشچانلىقىنى توغرىلاڭ.

قانداق ئىشلەيدۇ

يىمىرىلگەن JavaScript قىستۇرمىسى مەزمۇننى كۆرسىتىش ۋە يوشۇرۇش ئۈچۈن ئىشلىتىلىدۇ. كۇنۇپكا ياكى لەڭگەر سىز ئالماشتۇرغان ئالاھىدە ئېلېمېنتلارغا سىزىلغان قوزغاتقۇچ سۈپىتىدە ئىشلىتىلىدۇ. heightبىر ئېلېمېنتنىڭ يىمىرىلىشى ئۇنىڭ ھازىرقى قىممىتىدىن جانلىنىدۇ 0. CSS نىڭ كارتوننى قانداق بىر تەرەپ قىلىدىغانلىقىنى نەزەردە تۇتقاندا ، paddingئېلېمېنتنى .collapseئىشلىتەلمەيسىز. ئۇنىڭ ئورنىغا ، سىنىپنى مۇستەقىل ئوراش ئېلېمېنتى قىلىپ ئىشلىتىڭ.

بۇ زاپچاسنىڭ كارتون ئۈنۈمى prefers-reduced-motionمېدىيا سوئالىغا باغلىق. قولايلىق ھۆججەتلىرىمىزنىڭ قىسقارتىلغان ھەرىكەت بۆلىكىنى كۆرۈڭ .

مىسال

تۆۋەندىكى كۇنۇپكىلارنى چېكىپ سىنىپ ئۆزگەرتىش ئارقىلىق باشقا ئېلېمېنتنى يوشۇرۇش ۋە يوشۇرۇش:

  • .collapseمەزمۇننى يوشۇرىدۇ
  • .collapsingئۆتكۈنچى مەزگىلدە قوللىنىلىدۇ
  • .collapse.showمەزمۇننى كۆرسىتىدۇ

ئادەتتە ، data-bs-targetخاسلىقى بار كۇنۇپكىنى ئىشلىتىشنى تەۋسىيە قىلىمىز. مەنە نۇقتىسىدىن تەۋسىيە قىلىنمىسىمۇ ، hrefخاسلىق (ۋە a role="button") بىلەن ئۇلىنىش ئىشلەتسىڭىزمۇ بولىدۇ. ھەر ئىككى ئىشتا data-bs-toggle="collapse"تەلەپ قىلىنىدۇ.

Some placeholder content for the collapse component. This panel is hidden by default but revealed when the user activates the relevant trigger.
html
<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>

توغرىسىغا

يىمىرىلىش قىستۇرمىسى يەنە توغرىسىغا يىمىرىلىشىنى قوللايدۇ. ئۇنىڭ ئورنىغا .collapse-horizontalئالماشتۇرۇش سىنىپى قوشۇڭ ھەمدە دەرھال بالا ئېلېمېنتىغا تەڭشەڭ . ئۆزىڭىزنىڭ خاس Sass نى يېزىڭ ، ئىچكى ئۇسلۇبنى ئىشلىتىڭ ياكى كەڭلىكىمىزنى ئىشلىتىڭ .widthheightwidth

شۇنىڭغا دىققەت قىلىڭكى ، تۆۋەندىكى مىسالدا min-heightھۆججەتلىرىمىزدە ھەددىدىن زىيادە بوياشتىن ساقلىنىش ئۈچۈن بىر يۈرۈش بولسىمۇ ، بۇ ئېنىق تەلەپ قىلىنمايدۇ. پەقەت widthبالا ئېلېمېنتى تەلەپ قىلىنىدۇ.

This is some placeholder content for a horizontal collapse. It's hidden by default and shown when triggered.
html
<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>

كۆپ نىشان

A <button>ياكى بىر قانچە ئېلېمېنتنى ئۇنىڭ ياكى خاسلىقىدىكى <a>تاللىغۇچ بىلەن پايدىلىنىش ئارقىلىق كۆرسىتىپ ۋە يوشۇرالايدۇ . كۆپ ياكى بىر ئېلېمېنتنى ھەر بىرسى ئۆزىنىڭ ياكى خاسلىقى بىلەن پايدىلانسا كۆرسىتىپ بېرەلەيدۇ ۋە يوشۇرالايدۇhrefdata-bs-target<button><a>hrefdata-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.
html
<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>

قولايلىق

aria-expandedكونترول ئېلېمېنتىغا قوشۇشقا كاپالەتلىك قىلىڭ . بۇ خاسلىق ئېكرانغا ئوقۇرمەنلەرگە ۋە شۇنىڭغا ئوخشاش ياردەم تېخنىكىلىرىغا كونترول قىلىشقا باغلانغان قاتلىنىدىغان ئېلېمېنتنىڭ ھازىرقى ھالىتىنى ئېنىق يەتكۈزدى. ئەگەر قاتلىنىدىغان ئېلېمېنت سۈكۈتتىكى ھالەتتە تاقىلىپ قالسا ، كونترول ئېلېمېنتىدىكى خاسلىقنىڭ قىممىتى بولۇشى كېرەك aria-expanded="false". showئەگەر قاتلىنىدىغان ئېلېمېنتنى سىنىپ ئارقىلىق سۈكۈتتىكى ھالەتتە ئېچىشقا تەڭشىگەن بولسىڭىز aria-expanded="true"، ئۇنىڭ ئورنىغا كونترول قىلىڭ. قىستۇرما قاتلىنىدىغان ئېلېمېنتنىڭ ئېچىلغان ياكى ئېچىلمىغانلىقىغا ئاساسەن (JavaScript ئارقىلىق ياكى ئىشلەتكۈچى ئوخشاش بىر قاتلىنىدىغان ئېلېمېنتقا باغلانغان باشقا كونترول ئېلېمېنتىنى قوزغىغانلىقى ئۈچۈن) بۇ خاسلىقنى كونترولدا ئاپتوماتىك ئالماشتۇرىدۇ. ئەگەر كونترول ئېلېمېنتىنىڭ HTML ئېلېمېنتى بىر كۇنۇپكا بولمىسا (مەسىلەن ، <a>ياكى ياكى <div>) ، خاسلىقrole="button"ئېلېمېنتقا قوشۇلۇشى كېرەك.

ئەگەر كونترول ئېلېمېنتىڭىز بىرلا قاتلىنىدىغان ئېلېمېنتنى نىشانلىغان بولسا - يەنى data-bs-targetخاسلىق تاللىغۇچنى كۆرسەتسە - سىز خاسلىقنى كونترول ئېلېمېنتىغا idقوشۇشىڭىز كېرەك ، ئۇنىڭدا يىمىرىلىدىغان ئېلېمېنت بار. زامانىۋى ئېكران ئوقۇرمەنلىرى ۋە شۇنىڭغا ئوخشاش ياردەمچى تېخنىكىلار بۇ خاسلىقتىن پايدىلىنىپ ، ئىشلەتكۈچىلەرگە يىمىرىلىدىغان ئېلېمېنتنىڭ ئۆزىگە بىۋاسىتە يول باشلاش ئۈچۈن قوشۇمچە تېزلەتمە تەمىنلەيدۇ.aria-controlsid

شۇنىڭغا دىققەت قىلىڭكى ، Bootstrap نىڭ نۆۋەتتىكى يولغا قويۇلۇشى ARIA ئاپتورلۇق مەشغۇلات قوللانمىسى ئاككوردىيون ئەندىزىسىدە تەسۋىرلەنگەن ھەر خىل ئىختىيارى كۇنۇپكا تاختىسىنى ئۆز ئىچىگە ئالمايدۇ - بۇلارنى ئۆزىڭىز JavaScript بىلەن ئۆز ئىچىگە ئېلىشىڭىز كېرەك.

Sass

ئۆزگەرگۈچى مىقدار

$transition-collapse:         height .35s ease;
$transition-collapse-width:   width .35s ease;

دەرسلەر

يىمىرىلىش ئۆتكۈنچى سىنىپلىرىنى تاپقىلى بولىدۇ ، scss/_transitions.scssچۈنكى بۇلار كۆپ تەركىبلەر (يىمىرىلىش ۋە ئاككوردىيون) دا ئورتاقلاشقان.

.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);
  }
}

ئىشلىتىش

يىمىرىلىش قىستۇرمىسى بىر نەچچە سىنىپتىن پايدىلىنىپ ئېغىر كۆتۈرۈشنى بىر تەرەپ قىلىدۇ:

  • .collapseمەزمۇننى يوشۇرىدۇ
  • .collapse.showمەزمۇننى كۆرسىتىدۇ
  • .collapsingئۆتكۈنچى باشلانغاندا قوشۇلىدۇ ، ئاخىرلاشقاندا چىقىرىۋېتىلىدۇ

بۇ دەرسلەرنى تاپقىلى بولىدۇ _transitions.scss.

سانلىق مەلۇمات خاسلىقى ئارقىلىق

ئېلېمېنتقا بىر ياكى data-bs-toggle="collapse"بىر data-bs-targetقانچە قاتلىنىدىغان ئېلېمېنتنى كونترول قىلىشنى ئاپتوماتىك تەقسىملەڭ. بۇ data-bs-targetخاسلىق يىمىرىلىشنى قوللىنىش ئۈچۈن CSS تاللىغۇچنى قوبۇل قىلىدۇ. collapseدەرسنى قاتلىنىدىغان ئېلېمېنتقا قوشۇشقا كاپالەتلىك قىلىڭ . ئەگەر سۈكۈتتىكى ھالەتتە ئېچىشنى ئويلىسىڭىز ، قوشۇمچە دەرسنى قوشۇڭ show.

ئاككوردىيونغا ئوخشاش گۇرۇپپا باشقۇرۇشنى قاتلىنىدىغان رايونغا قوشۇش ئۈچۈن ، سانلىق مەلۇمات خاسلىقىنى قوشۇڭ data-bs-parent="#selector". تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن ئاككوردىيون بېتىدىن پايدىلىنىڭ .

JavaScript ئارقىلىق

قولدا قوزغىتىڭ:

const collapseElementList = document.querySelectorAll('.collapse')
const collapseList = [...collapseElementList].map(collapseEl => new bootstrap.Collapse(collapseEl))

تاللانما

تاللانمىلارنى سانلىق مەلۇمات خاسلىقى ياكى JavaScript ئارقىلىق يەتكۈزگىلى بولىدىغان بولغاچقا ، تاللاش نامىغا data-bs-ئوخشاش قوشۇمچە ئىسىم قوشالايسىز data-bs-animation="{value}". تاللانما نامىنىڭ دېلو تۈرىنى سانلىق مەلۇمات خاسلىقى ئارقىلىق يوللىغاندا «تۆگە قېپى » دىن « kebab -case » غا ئۆزگەرتىشنى جەزملەشتۈرۈڭ. مەسىلەن ، data-bs-custom-class="beautifier"ئۇنىڭ ئورنىغا ئىشلىتىڭ data-bs-customClass="beautifier".

Bootstrap 5.2.0 گە قەدەر ، بارلىق زاپچاسلار JSON تىزمىسى سۈپىتىدە ئاددىي زاپچاس سەپلىمىسىنى ساقلىيالايدىغان تەجرىبە ساقلانغان سانلىق مەلۇمات خاسلىقىنى قوللايدۇ. data-bs-configئېلېمېنتنىڭ خاسلىقى data-bs-config='{"delay":0, "title":123}'ۋە data-bs-title="456"خاسلىقى بولغاندا ، ئاخىرقى titleقىممىتى بولىدۇ 456ۋە ئايرىم سانلىق مەلۇمات خاسلىقى بېرىلگەن قىممەتنى بېسىپ data-bs-configچۈشىدۇ. بۇنىڭدىن باشقا ، مەۋجۇت سانلىق مەلۇمات خاسلىقى JSON قىممىتىنى ساقلىيالايدۇ data-bs-delay='{"show":0,"hide":150}'.

ئىسمى تىپ سۈكۈتتىكى چۈشەندۈرۈش
parent تاللىغۇچ ، DOM ئېلېمېنتى null ئەگەر ئاتا-ئانا تەمىنلەنگەن بولسا ، بۇ يىمىرىلىدىغان نەرسە كۆرسىتىلگەندە كۆرسىتىلگەن ئاتا-ئانىنىڭ ئاستىدىكى بارلىق قاتلىنىدىغان ئېلېمېنتلار تاقىلىدۇ. (ئەنئەنىۋى ئاككوردىيون ھەرىكىتىگە ئوخشايدۇ - بۇ cardسىنىپقا باغلىق). خاسلىق نىشاننى قاتلىنىدىغان رايونغا تەڭشىشى كېرەك.
toggle boolean true دەۋەتتىكى قاتلىنىدىغان ئېلېمېنتنى بىر تەرەپ قىلىدۇ.

Methods

ماس قەدەمسىز ئۇسۇل ۋە ئۆتكۈنچى

بارلىق API ئۇسۇللىرى ماس قەدەمسىز بولۇپ ، ئۆتكۈنچى باسقۇچنى باشلايدۇ . ئۇلار بۇرۇلۇش باشلانغان ھامان ، ئۇ ئاخىرلاشماي تۇرۇپلا تېلېفون قىلغۇچىغا قايتىپ كېلىدۇ . بۇنىڭدىن باشقا ، ئۆتكۈنچى زاپچاسنى چاقىرىش ئۇسۇلىغا سەل قارىلىدۇ .

تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن JavaScript ھۆججىتىمىزنى كۆرۈڭ .

مەزمۇنلىرىڭىزنى قاتلىنىدىغان ئېلېمېنت سۈپىتىدە ئاكتىپلايدۇ. ئىختىيارى تاللاشلارنى قوبۇل قىلىدۇ object.

قۇرۇلۇش قىلغۇچى بىلەن يىمىرىلىش مىسالى قۇرالايسىز ، مەسىلەن:

const bsCollapse = new bootstrap.Collapse('#myCollapse', {
  toggle: false
})
ئۇسۇل چۈشەندۈرۈش
dispose بىر ئېلېمېنتنىڭ يىمىرىلىشىنى يوقىتىدۇ. (DOM ئېلېمېنتىدىكى ساقلانغان سانلىق مەلۇماتلارنى ئۆچۈرۈۋېتىدۇ)
getInstance DOM ئېلېمېنتىغا مۇناسىۋەتلىك يىمىرىلىش مىسالىغا ئېرىشەلەيدىغان تۇراقلىق ئۇسۇل ، ئۇنى تۆۋەندىكىدەك ئىشلىتەلەيسىز : bootstrap.Collapse.getInstance(element).
getOrCreateInstance DOM ئېلېمېنتىغا مۇناسىۋەتلىك يىمىرىلىش ھالىتىنى قايتۇرىدىغان ياكى باشلانمىغان ئەھۋال ئاستىدا يېڭىسىنى ھاسىل قىلىدىغان تۇراقلىق ئۇسۇل. ئۇنى مۇنداق ئىشلىتەلەيسىز : bootstrap.Collapse.getOrCreateInstance(element).
hide قاتلىنىدىغان ئېلېمېنتنى يوشۇرىدۇ. قاتلىنىدىغان ئېلېمېنت ئەمەلىيەتتە يوشۇرۇلۇشتىن بۇرۇن چاقىرغۇچىغا قايتىدۇ (مەسىلەن ، hidden.bs.collapseۋەقە يۈز بېرىشتىن بۇرۇن).
show قاتلىنىدىغان ئېلېمېنتنى كۆرسىتىدۇ. قاتلىنىدىغان ئېلېمېنت ئەمەلىيەتتە كۆرسىتىلىشتىن بۇرۇن چاقىرغۇچىغا قايتىدۇ (مەسىلەن ، shown.bs.collapseۋەقە يۈز بېرىشتىن بۇرۇن).
toggle كۆرسىتىلىدىغان ياكى يوشۇرۇنغان قاتلىنىدىغان ئېلېمېنتنى توغرىلايدۇ. قاتلىنىدىغان ئېلېمېنت ئەمەلىيەتتە كۆرسىتىلىش ياكى يوشۇرۇلۇشتىن بۇرۇن (يەنى ھادىسە ياكى ھادىسە يۈز بېرىشتىن بۇرۇن) دەۋەتچىگە قايتىدۇ .shown.bs.collapsehidden.bs.collapse

Events

Bootstrap نىڭ يىمىرىلىش سىنىپى يىمىرىلىش ئىقتىدارىغا باغلانغان بىر قانچە ھادىسىنى ئاشكارىلىدى.

پائالىيەت تىپى چۈشەندۈرۈش
hide.bs.collapse بۇ hideئۇسۇل ئۇسۇل چاقىرىلغاندا دەرھال ئېتىۋېتىلىدۇ.
hidden.bs.collapse بۇ ھادىسە ئىشلەتكۈچىدىن يىمىرىلىش ئېلېمېنتى يوشۇرۇلغاندا (CSS ئۆتكۈنچى باسقۇچنىڭ تاماملىنىشىنى ساقلايدۇ).
show.bs.collapse showمىسال ئۇسۇلى چاقىرىلغاندا بۇ ھادىسە دەرھال ئېتىلىدۇ .
shown.bs.collapse بۇ ھادىسە ئىشلەتكۈچىگە يىمىرىلىش ئېلېمېنتى كۆرۈنگەندە ئېتىلىدۇ (CSS ئۆتكۈنچى باسقۇچنىڭ تاماملىنىشىنى ساقلايدۇ).
const myCollapsible = document.getElementById('myCollapsible')
myCollapsible.addEventListener('hidden.bs.collapse', event => {
  // do something...
})