संकुचित करा
काही वर्ग आणि आमच्या 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"
त्याऐवजी नियंत्रण सेट करा. संकुचित करण्यायोग्य घटक उघडला किंवा बंद केला गेला आहे की नाही यावर (जावास्क्रिप्टद्वारे किंवा वापरकर्त्याने त्याच संकुचित घटकाशी जोडलेले दुसरे नियंत्रण घटक ट्रिगर केल्यामुळे) नियंत्रणावर प्लगइन स्वयंचलितपणे ही विशेषता टॉगल करेल. नियंत्रण घटकाचा HTML घटक बटण नसल्यास (उदा. an <a>
किंवा <div>
), विशेषताrole="button"
घटकात जोडले पाहिजे.
जर तुमचा कंट्रोल एलिमेंट एकाच कोलॅप्सिबल एलिमेंटला टार्गेट करत असेल - म्हणजे data-bs-target
अॅट्रीब्युट id
सिलेक्टरला पॉइंट करत असेल तर - तुम्ही aria-controls
कंट्रोल एलिमेंटमध्ये अॅट्रिब्यूट जोडले पाहिजे, ज्यामध्ये id
कोलॅप्सिबल एलिमेंट असेल. आधुनिक स्क्रीन रीडर आणि तत्सम सहाय्यक तंत्रज्ञान वापरकर्त्यांना थेट संकुचित घटकावर नेव्हिगेट करण्यासाठी अतिरिक्त शॉर्टकट प्रदान करण्यासाठी या गुणधर्माचा वापर करतात.
लक्षात घ्या की बूटस्ट्रॅपची सध्याची अंमलबजावणी WAI-ARIA ऑथरिंग प्रॅक्टिसेस 1.1 अॅकॉर्डियन पॅटर्नमध्ये वर्णन केलेल्या विविध पर्यायी कीबोर्ड परस्परसंवादांना कव्हर करत नाही - तुम्हाला हे स्वतःला सानुकूल JavaScript सह समाविष्ट करावे लागेल.
सस
चल
$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"
आणि a जोडा. कोलॅप्स लागू करण्यासाठी विशेषता CSS निवडक स्वीकारते data-bs-target
. संकुचित घटकामध्ये data-bs-target
वर्ग जोडण्याची खात्री करा . 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 |
बुलियन | true |
आमंत्रणावर संकुचित करण्यायोग्य घटक टॉगल करते |
पद्धती
असिंक्रोनस पद्धती आणि संक्रमणे
सर्व API पद्धती असिंक्रोनस आहेत आणि एक संक्रमण सुरू करतात . संक्रमण सुरू होताच परंतु ते संपण्यापूर्वी ते कॉलरकडे परत जातात . याव्यतिरिक्त, संक्रमण घटकावरील पद्धत कॉलकडे दुर्लक्ष केले जाईल .
तुमची सामग्री संकुचित करण्यायोग्य घटक म्हणून सक्रिय करते. पर्यायी पर्याय स्वीकारतो 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 |
स्टॅटिक पद्धत जी तुम्हाला डीओएम घटकाशी संबंधित संकुचित उदाहरण मिळविण्याची परवानगी देते, तुम्ही ते याप्रमाणे वापरू शकता:bootstrap.Collapse.getInstance(element) |
getOrCreateInstance |
स्टॅटिक पद्धत जी डीओएम घटकाशी संबंधित संकुचित उदाहरण परत करते किंवा ती सुरू न झाल्यास नवीन तयार करते. आपण ते याप्रमाणे वापरू शकता:bootstrap.Collapse.getOrCreateInstance(element) |
कार्यक्रम
बूटस्ट्रॅपचा कोलॅप्स क्लास कोलॅप्स फंक्शनॅलिटीमध्ये जोडण्यासाठी काही इव्हेंट्स उघड करतो.
कार्यक्रमाचा प्रकार | वर्णन |
---|---|
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...
})