સંકુચિત કરો
કેટલાક વર્ગો અને અમારા 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>
ઉપલ્બધતા
Be sure to add aria-expanded
to the control element. This attribute explicitly conveys the current state of the collapsible element tied to the control to screen readers and similar assistive technologies. If the collapsible element is closed by default, the attribute on the control element should have a value of aria-expanded="false"
. If you’ve set the collapsible element to be open by default using the show
class, set aria-expanded="true"
on the control instead. The plugin will automatically toggle this attribute on the control based on whether or not the collapsible element has been opened or closed (via JavaScript, or because the user triggered another control element also tied to the same collapsible element). If the control element’s HTML element is not a button (e.g., an <a>
or <div>
), the attribute role="button"
તત્વમાં ઉમેરવું જોઈએ.
જો તમારું કંટ્રોલ એલિમેન્ટ એક જ સંકુચિત તત્વને લક્ષ્ય બનાવી રહ્યું છે - એટલે કે data-bs-target
એટ્રિબ્યુટ id
પસંદગીકાર તરફ નિર્દેશ કરે છે - તો તમારે aria-controls
નિયંત્રણ ઘટકમાં એટ્રિબ્યુટ ઉમેરવું જોઈએ, જેમાં id
સંકુચિત તત્વનો સમાવેશ થાય છે. આધુનિક સ્ક્રીન રીડર્સ અને સમાન સહાયક તકનીકો વપરાશકર્તાઓને સંકુચિત તત્વ પર સીધા જ નેવિગેટ કરવા માટે વધારાના શૉર્ટકટ્સ પ્રદાન કરવા માટે આ વિશેષતાનો ઉપયોગ કરે છે.
નોંધ કરો કે બુટસ્ટ્રેપનું વર્તમાન અમલીકરણ એઆરઆઈએ ઓથરિંગ પ્રેક્ટિસ ગાઈડ એકોર્ડિયન પેટર્નમાં વર્ણવેલ વિવિધ વૈકલ્પિક કીબોર્ડ ક્રિયાપ્રતિક્રિયાઓને આવરી લેતું નથી - તમારે આને કસ્ટમ 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 દ્વારા
આની સાથે મેન્યુઅલી સક્ષમ કરો:
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 પદ્ધતિઓ અસુમેળ છે અને સંક્રમણ શરૂ કરે છે . સંક્રમણ શરૂ થતાંની સાથે જ તેઓ કૉલર પાસે પાછા ફરે છે પરંતુ તે સમાપ્ત થાય તે પહેલાં . વધુમાં, સંક્રમણ ઘટક પર પદ્ધતિ કૉલ અવગણવામાં આવશે .
સંકુચિત તત્વ તરીકે તમારી સામગ્રીને સક્રિય કરે છે. વૈકલ્પિક વિકલ્પો સ્વીકારે છે 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...
})