يىمىرىلىش
بىر قانچە سىنىپ ۋە بىزنىڭ 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>
كۆپ نىشان
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 نىڭ نۆۋەتتىكى يولغا قويۇلۇشى WAI-ARIA ئاپتورلۇق ئەمەلىيىتى 1.1 ئاككوردىيون ئەندىزىسىدە تەسۋىرلەنگەن ھەرخىل ئىختىيارى كۇنۇپكا تاختىسىنى ئۆز ئىچىگە ئالمايدۇ - بۇلارنى ئۆزىڭىز JavaScript بىلەن ئۆز ئىچىگە ئېلىشىڭىز كېرەك.
Sass
ئۆزگەرگۈچى مىقدار
$transition-collapse: height .35s ease;
دەرسلەر
يىمىرىلىش ئۆتكۈنچى سىنىپلىرىنى تاپقىلى بولىدۇ ، scss/_transitions.scss
چۈنكى بۇلار كۆپ تەركىبلەر (يىمىرىلىش ۋە ئاككوردىيون) دا ئورتاقلاشقان.
.collapse {
&:not(.show) {
display: none;
}
}
.collapsing {
height: 0;
overflow: hidden;
@include transition($transition-collapse);
}
ئىشلىتىش
يىمىرىلىش قىستۇرمىسى بىر نەچچە سىنىپتىن پايدىلىنىپ ئېغىر كۆتۈرۈشنى بىر تەرەپ قىلىدۇ:
.collapse
مەزمۇننى يوشۇرىدۇ.collapse.show
مەزمۇننى كۆرسىتىدۇ.collapsing
ئۆتكۈنچى باشلانغاندا قوشۇلىدۇ ، ئاخىرلاشقاندا چىقىرىۋېتىلىدۇ
بۇ دەرسلەرنى تاپقىلى بولىدۇ _transitions.scss
.
سانلىق مەلۇمات خاسلىقى ئارقىلىق
ئېلېمېنتقا بىر ياكى data-bs-toggle="collapse"
بىر data-bs-target
قانچە قاتلىنىدىغان ئېلېمېنتنى كونترول قىلىشنى ئاپتوماتىك تەقسىملەڭ. بۇ data-bs-target
خاسلىق يىمىرىلىشنى قوللىنىش ئۈچۈن CSS تاللىغۇچنى قوبۇل قىلىدۇ. collapse
دەرسنى قاتلىنىدىغان ئېلېمېنتقا قوشۇشقا كاپالەتلىك قىلىڭ . ئەگەر سۈكۈتتىكى ھالەتتە ئېچىشنى ئويلىسىڭىز ، قوشۇمچە دەرسنى قوشۇڭ show
.
ئاككوردىيونغا ئوخشاش گۇرۇپپا باشقۇرۇشنى قاتلىنىدىغان رايونغا قوشۇش ئۈچۈن ، سانلىق مەلۇمات خاسلىقىنى قوشۇڭ data-bs-parent="#selector"
. بۇنى ھەرىكەتتە كۆرۈش ئۈچۈن كۆرسەتمە دىن پايدىلىنىڭ.
JavaScript ئارقىلىق
قولدا قوزغىتىڭ:
var collapseElementList = [].slice.call(document.querySelectorAll('.collapse'))
var collapseList = collapseElementList.map(function (collapseEl) {
return new bootstrap.Collapse(collapseEl)
})
تاللانما
تاللانمىلارنى سانلىق مەلۇمات خاسلىقى ياكى JavaScript ئارقىلىق يەتكۈزگىلى بولىدۇ. سانلىق مەلۇمات خاسلىقى ئۈچۈن ، تاللاش نامىغا data-bs-
ئوخشاش data-bs-parent=""
.
ئىسمى | تىپ | سۈكۈتتىكى | چۈشەندۈرۈش |
---|---|---|---|
parent |
تاللىغۇچ | jQuery ئوبيېكتى | DOM ئېلمىنتى | false |
ئەگەر ئاتا-ئانا تەمىنلەنگەن بولسا ، بۇ يىمىرىلىدىغان نەرسە كۆرسىتىلگەندە كۆرسىتىلگەن ئاتا-ئانىنىڭ ئاستىدىكى بارلىق قاتلىنىدىغان ئېلېمېنتلار تاقىلىدۇ. (ئەنئەنىۋى ئاككوردىيون ھەرىكىتىگە ئوخشايدۇ - بۇ card سىنىپقا باغلىق). خاسلىق نىشاننى قاتلىنىدىغان رايونغا تەڭشىشى كېرەك. |
toggle |
boolean | true |
دەۋەتتىكى قاتلىنىدىغان ئېلېمېنتنى بىر تەرەپ قىلىدۇ |
Methods
ماس قەدەمسىز ئۇسۇل ۋە ئۆتكۈنچى
بارلىق API ئۇسۇللىرى ماس قەدەمسىز بولۇپ ، ئۆتكۈنچى باسقۇچنى باشلايدۇ . ئۇلار بۇرۇلۇش باشلانغان ھامان ، ئۇ ئاخىرلاشماي تۇرۇپلا تېلېفون قىلغۇچىغا قايتىپ كېلىدۇ . بۇنىڭدىن باشقا ، ئۆتكۈنچى زاپچاسنى چاقىرىش ئۇسۇلىغا سەل قارىلىدۇ .
تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن JavaScript ھۆججىتىمىزنى كۆرۈڭ .
مەزمۇنلىرىڭىزنى قاتلىنىدىغان ئېلېمېنت سۈپىتىدە ئاكتىپلايدۇ. ئىختىيارى تاللاشلارنى قوبۇل قىلىدۇ object
.
قۇرۇلۇش قىلغۇچى بىلەن يىمىرىلىش مىسالى قۇرالايسىز ، مەسىلەن:
var myCollapse = document.getElementById('myCollapse')
var bsCollapse = new bootstrap.Collapse(myCollapse, {
toggle: false
})
ئۇسۇل | چۈشەندۈرۈش |
---|---|
toggle |
كۆرسىتىلگەن ياكى يوشۇرۇنغان قاتلىنىدىغان ئېلېمېنتنى توغرىلايدۇ. قاتلىنىدىغان ئېلېمېنت ئەمەلىيەتتە كۆرسىتىش ياكى يوشۇرۇشتىن بۇرۇن (يەنى ۋەقە ياكى ھادىسە يۈز بېرىشتىن بۇرۇن) دەۋەتچىگە قايتىدۇ .shown.bs.collapse hidden.bs.collapse |
show |
قاتلىنىدىغان ئېلېمېنتنى كۆرسىتىدۇ. قاتلىنىدىغان ئېلېمېنت ئەمەلىيەتتە كۆرسىتىلىشتىن بۇرۇن چاقىرغۇچىغا قايتىدۇ (مەسىلەن ، shown.bs.collapse ۋەقە يۈز بېرىشتىن بۇرۇن). |
hide |
قاتلىنىدىغان ئېلېمېنتنى يوشۇرىدۇ. قاتلىنىدىغان ئېلېمېنت ئەمەلىيەتتە يوشۇرۇلۇشتىن بۇرۇن چاقىرغۇچىغا قايتىدۇ (مەسىلەن ، hidden.bs.collapse ۋەقە يۈز بېرىشتىن بۇرۇن). |
dispose |
بىر ئېلېمېنتنىڭ يىمىرىلىشىنى يوقىتىدۇ. (DOM ئېلېمېنتىدىكى ساقلانغان سانلىق مەلۇماتلارنى ئۆچۈرۈۋېتىدۇ) |
getInstance |
DOM ئېلېمېنتىغا مۇناسىۋەتلىك يىمىرىلىش مىسالىغا ئېرىشەلەيدىغان تۇراقلىق ئۇسۇل ، ئۇنى تۆۋەندىكىدەك ئىشلىتەلەيسىز:bootstrap.Collapse.getInstance(element) |
getOrCreateInstance |
تۇراقلىق ئۇسۇل DOM ئېلېمېنتىغا باغلانغان يىمىرىلىش ھالىتىنى قايتۇرىدۇ ياكى دەسلەپكى قەدەمدە يېڭىلانمايدۇ. ئۇنى تۆۋەندىكىدەك ئىشلىتەلەيسىز:bootstrap.Collapse.getOrCreateInstance(element) |
Events
Bootstrap نىڭ يىمىرىلىش سىنىپى يىمىرىلىش ئىقتىدارىغا باغلانغان بىر قانچە ھادىسىنى ئاشكارىلىدى.
پائالىيەت تىپى | چۈشەندۈرۈش |
---|---|
show.bs.collapse |
show مىسال ئۇسۇلى چاقىرىلغاندا بۇ ھادىسە دەرھال ئېتىلىدۇ . |
shown.bs.collapse |
بۇ ھادىسە ئىشلەتكۈچىگە يىمىرىلىش ئېلېمېنتى كۆرۈنگەندە ئېتىلىدۇ (CSS ئۆتكۈنچى باسقۇچنىڭ تاماملىنىشىنى ساقلايدۇ). |
hide.bs.collapse |
بۇ hide ئۇسۇل ئۇسۇل چاقىرىلغاندا دەرھال ئېتىۋېتىلىدۇ. |
hidden.bs.collapse |
بۇ ھادىسە ئىشلەتكۈچىدىن يىمىرىلىش ئېلېمېنتى يوشۇرۇلغاندا (CSS ئۆتكۈنچى باسقۇچنىڭ تاماملىنىشىنى ساقلايدۇ). |
var myCollapsible = document.getElementById('myCollapsible')
myCollapsible.addEventListener('hidden.bs.collapse', function () {
// do something...
})