संक्षिप्त गर्नुहोस्
केही कक्षाहरू र हाम्रा 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
परिमार्जक वर्ग थप्नुहोस् को width
सट्टामा ट्रान्जिसन गर्नुहोस् र तत्काल बाल तत्वमा height
सेट गर्नुहोस् । width
तपाईंको आफ्नै अनुकूलन Sass लेख्न, इनलाइन शैलीहरू प्रयोग गर्न, वा हाम्रो चौडाइ उपयोगिताहरू प्रयोग गर्न स्वतन्त्र महसुस गर्नुहोस् ।
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
नोट गर्नुहोस् कि बुटस्ट्र्यापको हालको कार्यान्वयनले ARIA अथरिङ अभ्यास गाइड एकॉर्डियन ढाँचामा वर्णन गरिएका विभिन्न वैकल्पिक किबोर्ड अन्तर्क्रियाहरूलाई कभर गर्दैन - तपाईंले यसलाई आफू अनुकूल जाभास्क्रिप्टसँग समावेश गर्न आवश्यक हुनेछ।
सास
चरहरू
$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"
। थप जानकारीको लागि accordion पृष्ठ हेर्नुहोस् ।
जाभास्क्रिप्ट मार्फत
म्यानुअल रूपमा सक्षम गर्नुहोस्:
const collapseElementList = document.querySelectorAll('.collapse')
const collapseList = [...collapseElementList].map(collapseEl => new bootstrap.Collapse(collapseEl))
विकल्पहरू
डेटा विशेषताहरू वा JavaScript मार्फत विकल्पहरू पास गर्न सकिने हुनाले, तपाईंले विकल्प नाम जोड्न सक्नुहुन्छ data-bs-
, जस्तै मा data-bs-animation="{value}"
। डेटा विशेषताहरू मार्फत विकल्पहरू पास गर्दा विकल्प नामको केस प्रकारलाई " camelCase " बाट " kebab-case " मा परिवर्तन गर्न निश्चित गर्नुहोस्। उदाहरण को लागी, data-bs-custom-class="beautifier"
को सट्टा प्रयोग गर्नुहोस् data-bs-customClass="beautifier"
।
बुटस्ट्र्याप ५.२.० को रूपमा, सबै कम्पोनेन्टहरूले प्रयोगात्मक आरक्षित डेटा विशेषतालाई समर्थन गर्दछ data-bs-config
जसले JSON स्ट्रिङको रूपमा साधारण कम्पोनेन्ट कन्फिगरेसन राख्न सक्छ। जब एक तत्व हुन्छ 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 |
बुलियन | true |
आह्वानमा मिल्ने तत्वलाई टगल गर्छ। |
विधिहरू
एसिन्क्रोनस विधि र संक्रमण
सबै एपीआई विधिहरू एसिन्क्रोनस छन् र एक संक्रमण सुरु गर्नुहोस् । तिनीहरू संक्रमण सुरु हुने बित्तिकै तर यो समाप्त हुनु अघि कलरमा फर्कन्छन् । थप रूपमा, ट्रान्जिसनिङ कम्पोनेन्टमा विधि कललाई बेवास्ता गरिनेछ ।
तपाइँको सामग्री एक संकुचन तत्व को रूप मा सक्रिय गर्दछ। वैकल्पिक विकल्पहरू स्वीकार गर्दछ 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 घटना हुनु अघि)। |
घटनाहरू
बुटस्ट्र्यापको पतन वर्गले पतन कार्यक्षमतामा हुक गर्नका लागि केही घटनाहरू उजागर गर्दछ।
घटना प्रकार | विवरण |
---|---|
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...
})