يىمىرىلىش
بىر قانچە سىنىپ ۋە 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"
تەلەپ قىلىنىدۇ.
<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 نى يېزىڭ ، ئىچكى ئۇسلۇبنى ئىشلىتىڭ ياكى كەڭلىكىمىزنى ئىشلىتىڭ .width
height
width
min-height
ھۆججەتلىرىمىزدە ھەددىدىن زىيادە بوياشتىن ساقلىنىش ئۈچۈن بىر يۈرۈش بولسىمۇ ، بۇ ئېنىق تەلەپ قىلىنمايدۇ.
پەقەت width
بالا ئېلېمېنتى تەلەپ قىلىنىدۇ.
<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>
تاللىغۇچ بىلەن پايدىلىنىش ئارقىلىق كۆرسىتىپ ۋە يوشۇرالايدۇ . كۆپ ياكى بىر ئېلېمېنتنى ھەر بىرسى ئۆزىنىڭ ياكى خاسلىقى بىلەن پايدىلانسا كۆرسىتىپ بېرەلەيدۇ ۋە يوشۇرالايدۇhref
data-bs-target
<button>
<a>
href
data-bs-target
بىرىنچى ئېلېمېنتنى ئالماشتۇرۇڭ
<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-controls
id
شۇنىڭغا دىققەت قىلىڭكى ، 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.collapse hidden.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...
})