સંકુચિત કરો
કેટલાક વર્ગો અને અમારા 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
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 ઉમેરો . 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 |
બુલિયન | 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 |
સ્થિર પદ્ધતિ કે જે તમને 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...
})