मुख्य सामग्रीवर जा डॉक्स नेव्हिगेशनवर जा
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>एकापेक्षा जास्त घटक दर्शवू आणि लपवू शकतो त्यांचा संदर्भ त्याच्या hrefकिंवा data-bs-targetविशेषता मध्ये निवडक सह. एकापेक्षा जास्त <button>किंवा <a>घटक दर्शवू आणि लपवू शकतात जर ते प्रत्येकाने त्यांच्या hrefकिंवा data-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"त्याऐवजी नियंत्रण सेट करा. संकुचित करण्यायोग्य घटक उघडला किंवा बंद केला गेला आहे की नाही यावर (जावास्क्रिप्टद्वारे किंवा वापरकर्त्याने त्याच संकुचित घटकाशी जोडलेले दुसरे नियंत्रण घटक ट्रिगर केल्यामुळे) नियंत्रणावर प्लगइन स्वयंचलितपणे ही विशेषता टॉगल करेल. नियंत्रण घटकाचा HTML घटक बटण नसल्यास (उदा. an <a>किंवा <div>), विशेषताrole="button"घटकात जोडले पाहिजे.

जर तुमचा कंट्रोल एलिमेंट एकाच कोलॅप्सिबल एलिमेंटला टार्गेट करत असेल - म्हणजे data-bs-targetअॅट्रीब्युट idसिलेक्टरला पॉइंट करत असेल तर - तुम्ही aria-controlsकंट्रोल एलिमेंटमध्ये अॅट्रिब्यूट जोडले पाहिजे, ज्यामध्ये idकोलॅप्सिबल एलिमेंट असेल. आधुनिक स्क्रीन रीडर आणि तत्सम सहाय्यक तंत्रज्ञान वापरकर्त्यांना थेट संकुचित घटकावर नेव्हिगेट करण्यासाठी अतिरिक्त शॉर्टकट प्रदान करण्यासाठी या गुणधर्माचा वापर करतात.

लक्षात घ्या की बूटस्ट्रॅपच्या सध्याच्या अंमलबजावणीमध्ये ARIA ऑथरिंग प्रॅक्टिसेस गाईड अॅकॉर्डियन पॅटर्नमध्ये वर्णन केलेल्या विविध पर्यायी कीबोर्ड परस्परसंवादांचा समावेश केला जात नाही - तुम्हाला हे स्वतः सानुकूल 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 द्वारे

यासह व्यक्तिचलितपणे सक्षम करा:

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

पर्याय

data-bs-पर्याय डेटा विशेषता किंवा JavaScript द्वारे पास केले जाऊ शकतात म्हणून, तुम्ही मध्ये पर्याय नाव जोडू शकता data-bs-animation="{value}". डेटा विशेषतांद्वारे पर्याय पास करताना पर्याय नावाचा केस प्रकार “ camelCase ” वरून “ kebab-case ” मध्ये बदलण्याची खात्री करा. उदाहरणार्थ, data-bs-custom-class="beautifier"ऐवजी वापरा data-bs-customClass="beautifier".

बूटस्ट्रॅप 5.2.0 नुसार, सर्व घटक प्रायोगिक आरक्षित डेटा विशेषताचे समर्थन 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 आमंत्रणावर संकुचित करण्यायोग्य घटक टॉगल करते.

पद्धती

असिंक्रोनस पद्धती आणि संक्रमणे

सर्व API पद्धती असिंक्रोनस आहेत आणि एक संक्रमण सुरू करतात . संक्रमण सुरू होताच परंतु ते संपण्यापूर्वी ते कॉलरकडे परत जातात . याव्यतिरिक्त, संक्रमण घटकावरील पद्धत कॉलकडे दुर्लक्ष केले जाईल .

अधिक माहितीसाठी आमचे JavaScript दस्तऐवजीकरण पहा .

तुमची सामग्री संकुचित करण्यायोग्य घटक म्हणून सक्रिय करते. पर्यायी पर्याय स्वीकारतो object.

तुम्ही कन्स्ट्रक्टरसह संकुचित उदाहरण तयार करू शकता, उदाहरणार्थ:

const bsCollapse = new bootstrap.Collapse('#myCollapse', {
  toggle: false
})
पद्धत वर्णन
dispose घटकाचा नाश होतो. (DOM घटकावरील संचयित डेटा काढून टाकते)
getInstance स्टॅटिक पद्धत जी तुम्हाला डीओएम घटकाशी संबंधित संकुचित उदाहरण मिळविण्याची परवानगी देते, तुम्ही ते याप्रमाणे वापरू शकता: bootstrap.Collapse.getInstance(element).
getOrCreateInstance स्टॅटिक पद्धत जी डीओएम घटकाशी संबंधित संकुचित उदाहरण परत करते किंवा ते प्रारंभ केले नसल्यास नवीन तयार करते. आपण ते याप्रमाणे वापरू शकता: 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...
})