ചുരുക്കുക
കുറച്ച് ക്ലാസുകളും ഞങ്ങളുടെ 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പരിവർത്തനം ചെയ്യാൻ മോഡിഫയർ ക്ലാസ് ചേർക്കുകയും ഉടനടി ചൈൽഡ് എലമെന്റിൽ എ സജ്ജീകരിക്കുകയും ചെയ്യുക. നിങ്ങളുടെ സ്വന്തം ഇഷ്ടാനുസൃത സാസ് എഴുതാനോ ഇൻലൈൻ ശൈലികൾ ഉപയോഗിക്കാനോ ഞങ്ങളുടെ വീതി യൂട്ടിലിറ്റികൾ ഉപയോഗിക്കാനോ മടിക്കേണ്ടതില്ല .widthheightwidth
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>
ഒന്നിലധികം ലക്ഷ്യങ്ങൾ
ഒരു <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-controlsid
WAI-ARIA ഓതറിംഗ് പ്രാക്ടീസുകൾ 1.1 അക്കോഡിയൻ പാറ്റേണിൽ വിവരിച്ചിരിക്കുന്ന വിവിധ ഓപ്ഷണൽ കീബോർഡ് ഇടപെടലുകൾ ബൂട്ട്സ്ട്രാപ്പിന്റെ നിലവിലെ നടപ്പാക്കൽ ഉൾക്കൊള്ളുന്നില്ലെന്നത് ശ്രദ്ധിക്കുക - നിങ്ങൾ ഇവ ഇഷ്ടാനുസൃത ജാവാസ്ക്രിപ്റ്റിനൊപ്പം ഉൾപ്പെടുത്തേണ്ടതുണ്ട്.
സാസ്
വേരിയബിളുകൾ
$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-targetCSS സെലക്ടറിലേക്ക് ചുരുക്കൽ പ്രയോഗിക്കാൻ സ്വീകരിക്കുന്നു. 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 രീതികളും അസമന്വിതവും ഒരു പരിവർത്തനം ആരംഭിക്കുന്നതുമാണ് . പരിവർത്തനം ആരംഭിച്ചയുടൻ അവർ വിളിക്കുന്ന ആളിലേക്ക് മടങ്ങുന്നു, പക്ഷേ അത് അവസാനിക്കുന്നതിന് മുമ്പ് . കൂടാതെ, ഒരു സംക്രമണ ഘടകത്തിലെ ഒരു മെത്തേഡ് കോൾ അവഗണിക്കപ്പെടും .
കൂടുതൽ വിവരങ്ങൾക്ക് ഞങ്ങളുടെ 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) |
ഇവന്റുകൾ
ബൂട്ട്സ്ട്രാപ്പിന്റെ തകർച്ച ക്ലാസ്, തകർച്ച പ്രവർത്തനത്തിലേക്ക് ഹുക്ക് ചെയ്യുന്നതിനുള്ള ചില ഇവന്റുകൾ തുറന്നുകാട്ടുന്നു.
| ഇവന്റ് തരം | വിവരണം |
|---|---|
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...
})