ઑફકેનવાસ
થોડા વર્ગો અને અમારા JavaScript પ્લગઇન સાથે નેવિગેશન, શોપિંગ કાર્ટ અને વધુ માટે તમારા પ્રોજેક્ટમાં છુપાયેલા સાઇડબાર બનાવો.
તે કેવી રીતે કામ કરે છે
Offcanvas એ સાઇડબાર ઘટક છે જે વ્યુપોર્ટની ડાબી, જમણી અથવા નીચેની ધારથી દેખાવા માટે JavaScript દ્વારા ટૉગલ કરી શકાય છે. બટનો અથવા એન્કરનો ઉપયોગ ટ્રિગર્સ તરીકે થાય છે જે તમે ટૉગલ કરો છો તે વિશિષ્ટ ઘટકો સાથે જોડાયેલા હોય છે, અને data
વિશેષતાઓનો ઉપયોગ અમારી JavaScriptને શરૂ કરવા માટે થાય છે.
- Offcanvas મોડલ તરીકે સમાન JavaScript કોડને શેર કરે છે. વૈચારિક રીતે, તેઓ તદ્દન સમાન છે, પરંતુ તેઓ અલગ પ્લગઈનો છે.
- તેવી જ રીતે, ઓફકેનવાસની શૈલીઓ અને પરિમાણો માટેના કેટલાક સ્ત્રોત Sass ચલ મોડલના ચલોમાંથી વારસામાં મળે છે.
- જ્યારે બતાવવામાં આવે ત્યારે, ઑફકેનવાસમાં ડિફૉલ્ટ બેકડ્રોપનો સમાવેશ થાય છે જેને ઑફકેનવાસ છુપાવવા માટે ક્લિક કરી શકાય છે.
- મોડલ્સની જેમ, એક સમયે માત્ર એક જ ઑફકેનવાસ બતાવી શકાય છે.
હેડ અપ! CSS એનિમેશનને કેવી રીતે હેન્ડલ કરે છે તે જોતાં, તમે એલિમેન્ટનો ઉપયોગ margin
અથવા ઉપયોગ translate
કરી શકતા નથી. .offcanvas
તેના બદલે, સ્વતંત્ર રેપિંગ તત્વ તરીકે વર્ગનો ઉપયોગ કરો.
prefers-reduced-motion
મીડિયા ક્વેરી પર આધારિત છે. અમારા ઍક્સેસિબિલિટી દસ્તાવેજીકરણનો ઘટાડો ગતિ વિભાગ જુઓ
.
ઉદાહરણો
ઑફકેનવાસ ઘટકો
નીચે એક ઑફકેનવાસ ઉદાહરણ છે જે ડિફૉલ્ટ રૂપે બતાવવામાં આવ્યું છે (આના દ્વારા .show
) .offcanvas
. ઑફકેનવાસમાં ક્લોઝ બટન સાથે હેડર માટે સપોર્ટ અને કેટલાક પ્રારંભિક માટે વૈકલ્પિક બોડી ક્લાસનો સમાવેશ થાય છે padding
. અમે સૂચવીએ છીએ કે તમે જ્યારે પણ શક્ય હોય ત્યારે બરતરફીની ક્રિયાઓ સાથે ઑફકેનવાસ હેડરનો સમાવેશ કરો અથવા સ્પષ્ટ રીતે બરતરફીની ક્રિયા પ્રદાન કરો.
ઑફકેનવાસ
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvas" aria-labelledby="offcanvasLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasLabel">Offcanvas</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
Content for the offcanvas goes here. You can place just about any Bootstrap component or custom elements here.
</div>
</div>
લાઈવ ડેમો
JavaScript દ્વારા ઑફકેનવાસ ઘટક બતાવવા અને છુપાવવા માટે નીચેના બટનોનો ઉપયોગ કરો જે .show
વર્ગ સાથેના તત્વ પર વર્ગને ટૉગલ કરે છે .offcanvas
.
.offcanvas
સામગ્રી છુપાવે છે (ડિફૉલ્ટ).offcanvas.show
સામગ્રી બતાવે છે
તમે href
એટ્રિબ્યુટ સાથેની લિંક અથવા એટ્રિબ્યુટ સાથેના બટનનો ઉપયોગ કરી શકો છો data-bs-target
. બંને કિસ્સાઓમાં, data-bs-toggle="offcanvas"
તે જરૂરી છે.
ઑફકેનવાસ
<a class="btn btn-primary" data-bs-toggle="offcanvas" href="#offcanvasExample" role="button" aria-controls="offcanvasExample">
Link with href
</a>
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasExample" aria-controls="offcanvasExample">
Button with data-bs-target
</button>
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvasExample" aria-labelledby="offcanvasExampleLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasExampleLabel">Offcanvas</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<div>
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
</div>
<div class="dropdown mt-3">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-bs-toggle="dropdown">
Dropdown button
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</div>
</div>
</div>
પ્લેસમેન્ટ
ઑફકેનવાસ ઘટકો માટે કોઈ ડિફૉલ્ટ પ્લેસમેન્ટ નથી, તેથી તમારે નીચેના મોડિફાયર વર્ગોમાંથી એક ઉમેરવું આવશ્યક છે;
.offcanvas-start
વ્યૂપોર્ટની ડાબી બાજુએ ઑફકેનવાસ મૂકે છે (ઉપર બતાવેલ).offcanvas-end
ઑફકેનવાસને વ્યૂપોર્ટની જમણી બાજુએ મૂકે છે.offcanvas-top
ઑફકેનવાસને વ્યૂપોર્ટની ટોચ પર મૂકે છે.offcanvas-bottom
ઑફકેનવાસને વ્યૂપોર્ટના તળિયે મૂકે છે
ઉપર, જમણે અને નીચેનાં ઉદાહરણો અજમાવી જુઓ.
ઑફકેનવાસ ટોચ
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasTop" aria-controls="offcanvasTop">Toggle top offcanvas</button>
<div class="offcanvas offcanvas-top" tabindex="-1" id="offcanvasTop" aria-labelledby="offcanvasTopLabel">
<div class="offcanvas-header">
<h5 id="offcanvasTopLabel">Offcanvas top</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
...
</div>
</div>
ઑફકેનવાસ અધિકાર
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasRight" aria-controls="offcanvasRight">Toggle right offcanvas</button>
<div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasRight" aria-labelledby="offcanvasRightLabel">
<div class="offcanvas-header">
<h5 id="offcanvasRightLabel">Offcanvas right</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
...
</div>
</div>
ઑફકેનવાસ નીચે
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasBottom" aria-controls="offcanvasBottom">Toggle bottom offcanvas</button>
<div class="offcanvas offcanvas-bottom" tabindex="-1" id="offcanvasBottom" aria-labelledby="offcanvasBottomLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasBottomLabel">Offcanvas bottom</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body small">
...
</div>
</div>
બેકડ્રોપ
<body>
જ્યારે ઑફકેનવાસ અને તેનું બેકડ્રોપ દૃશ્યમાન હોય ત્યારે ઘટકને સ્ક્રોલ કરવાનું અક્ષમ કરવામાં આવે છે . સ્ક્રોલિંગને ટૉગલ કરવા અને બેકડ્રોપને ટૉગલ કરવા માટે data-bs-scroll
એટ્રિબ્યુટનો ઉપયોગ કરો.<body>
data-bs-backdrop
સ્ક્રોલિંગ સાથે રંગીન
આ વિકલ્પને ક્રિયામાં જોવા માટે બાકીના પૃષ્ઠને સ્ક્રોલ કરવાનો પ્રયાસ કરો.
બેકડ્રોપ સાથે ઓફકેનવાસ
.....
સ્ક્રોલિંગ સાથે બેકડ્રોપ
આ વિકલ્પને ક્રિયામાં જોવા માટે બાકીના પૃષ્ઠને સ્ક્રોલ કરવાનો પ્રયાસ કરો.
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasScrolling" aria-controls="offcanvasScrolling">Enable body scrolling</button>
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasWithBackdrop" aria-controls="offcanvasWithBackdrop">Enable backdrop (default)</button>
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasWithBothOptions" aria-controls="offcanvasWithBothOptions">Enable both scrolling & backdrop</button>
<div class="offcanvas offcanvas-start" data-bs-scroll="true" data-bs-backdrop="false" tabindex="-1" id="offcanvasScrolling" aria-labelledby="offcanvasScrollingLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasScrollingLabel">Colored with scrolling</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<p>Try scrolling the rest of the page to see this option in action.</p>
</div>
</div>
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvasWithBackdrop" aria-labelledby="offcanvasWithBackdropLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasWithBackdropLabel">Offcanvas with backdrop</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<p>.....</p>
</div>
</div>
<div class="offcanvas offcanvas-start" data-bs-scroll="true" tabindex="-1" id="offcanvasWithBothOptions" aria-labelledby="offcanvasWithBothOptionsLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasWithBothOptionsLabel">Backdrop with scrolling</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<p>Try scrolling the rest of the page to see this option in action.</p>
</div>
</div>
ઉપલ્બધતા
ઓફકેનવાસ પેનલ વૈચારિક રીતે મોડલ સંવાદ હોવાથી, aria-labelledby="..."
ઓફકેનવાસ શીર્ષકનો સંદર્ભ આપતા—માં ઉમેરવાની ખાતરી કરો .offcanvas
. નોંધ કરો કે તમારે ઉમેરવાની જરૂર નથી role="dialog"
કારણ કે અમે તેને JavaScript દ્વારા પહેલેથી જ ઉમેરીએ છીએ.
સસ
ચલો
$offcanvas-padding-y: $modal-inner-padding;
$offcanvas-padding-x: $modal-inner-padding;
$offcanvas-horizontal-width: 400px;
$offcanvas-vertical-height: 30vh;
$offcanvas-transition-duration: .3s;
$offcanvas-border-color: $modal-content-border-color;
$offcanvas-border-width: $modal-content-border-width;
$offcanvas-title-line-height: $modal-title-line-height;
$offcanvas-bg-color: $modal-content-bg;
$offcanvas-color: $modal-content-color;
$offcanvas-box-shadow: $modal-content-box-shadow-xs;
$offcanvas-backdrop-bg: $modal-backdrop-bg;
$offcanvas-backdrop-opacity: $modal-backdrop-opacity;
ઉપયોગ
ઑફકેનવાસ પ્લગઇન ભારે લિફ્ટિંગને હેન્ડલ કરવા માટે કેટલાક વર્ગો અને વિશેષતાઓનો ઉપયોગ કરે છે:
.offcanvas
સામગ્રી છુપાવે છે.offcanvas.show
સામગ્રી બતાવે છે.offcanvas-start
ઑફકેનવાસને ડાબી બાજુએ છુપાવે છે.offcanvas-end
ઓફકેનવાસને જમણી બાજુએ છુપાવે છે.offcanvas-bottom
ઑફકેનવાસને તળિયે છુપાવે છે
વિશેષતા સાથે ડિસમિસ બટન ઉમેરો data-bs-dismiss="offcanvas"
, જે JavaScript કાર્યક્ષમતાને ટ્રિગર કરે છે. <button>
બધા ઉપકરણો પર યોગ્ય વર્તન માટે તેની સાથે તત્વનો ઉપયોગ કરવાની ખાતરી કરો .
ડેટા લક્ષણો દ્વારા
ટૉગલ કરો
એક ઑફકેનવાસ ઘટકનું નિયંત્રણ આપમેળે સોંપવા માટે ઘટકમાં ઉમેરો data-bs-toggle="offcanvas"
અને a data-bs-target
અથવા ઉમેરો. href
ઑફકેનવાસ data-bs-target
લાગુ કરવા માટે વિશેષતા CSS પસંદગીકારને સ્વીકારે છે. offcanvas
ઑફકેનવાસ ઘટકમાં વર્ગ ઉમેરવાની ખાતરી કરો . જો તમે તેને ડિફોલ્ટ ખોલવા માંગતા હો, તો વધારાનો વર્ગ ઉમેરો show
.
કાઢી નાખો
નીચે દર્શાવ્યા પ્રમાણે ઑફકેનવાસની અંદરનાdata
બટન પરની વિશેષતા વડે બરતરફી પ્રાપ્ત કરી શકાય છે:
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
અથવા નીચે દર્શાવ્યા મુજબનો ઉપયોગ કરીને ઑફકેનવાસની બહારના બટન પર:data-bs-target
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#my-offcanvas" aria-label="Close"></button>
JavaScript દ્વારા
આની સાથે મેન્યુઅલી સક્ષમ કરો:
var offcanvasElementList = [].slice.call(document.querySelectorAll('.offcanvas'))
var offcanvasList = offcanvasElementList.map(function (offcanvasEl) {
return new bootstrap.Offcanvas(offcanvasEl)
})
વિકલ્પો
વિકલ્પો ડેટા વિશેષતાઓ અથવા JavaScript દ્વારા પસાર કરી શકાય છે. ડેટા એટ્રિબ્યુટ્સ માટે, વિકલ્પ નામને data-bs-
, જેમ કે માં ઉમેરો data-bs-backdrop=""
.
નામ | પ્રકાર | ડિફૉલ્ટ | વર્ણન |
---|---|---|---|
backdrop |
બુલિયન | true |
ઑફકેનવાસ ખુલ્લું હોય ત્યારે શરીર પર બેકડ્રોપ લાગુ કરો |
keyboard |
બુલિયન | true |
જ્યારે એસ્કેપ કી દબાવવામાં આવે ત્યારે ઑફકેનવાસ બંધ કરે છે |
scroll |
બુલિયન | false |
ઑફકેનવાસ ખુલ્લું હોય ત્યારે બૉડી સ્ક્રોલ કરવાની મંજૂરી આપો |
પદ્ધતિઓ
અસુમેળ પદ્ધતિઓ અને સંક્રમણો
બધી API પદ્ધતિઓ અસુમેળ છે અને સંક્રમણ શરૂ કરે છે . સંક્રમણ શરૂ થતાંની સાથે જ તેઓ કૉલર પાસે પાછા ફરે છે પરંતુ તે સમાપ્ત થાય તે પહેલાં . વધુમાં, સંક્રમણ ઘટક પર પદ્ધતિ કૉલ અવગણવામાં આવશે .
તમારી સામગ્રીને ઑફ-કેનવાસ ઘટક તરીકે સક્રિય કરે છે. વૈકલ્પિક વિકલ્પો સ્વીકારે છે object
.
તમે કન્સ્ટ્રક્ટર સાથે ઑફકેનવાસ દાખલો બનાવી શકો છો, ઉદાહરણ તરીકે:
var myOffcanvas = document.getElementById('myOffcanvas')
var bsOffcanvas = new bootstrap.Offcanvas(myOffcanvas)
પદ્ધતિ | વર્ણન |
---|---|
toggle |
ઑફકેનવાસ ઘટકને બતાવવામાં અથવા છુપાવવા માટે ટૉગલ કરે છે. ઑફકેનવાસ એલિમેન્ટ વાસ્તવમાં બતાવવામાં આવે અથવા છુપાવવામાં આવે તે પહેલાં કૉલર પર પાછા ફરે છે (એટલે કે ઘટના shown.bs.offcanvas અથવા hidden.bs.offcanvas ઘટના બને તે પહેલાં). |
show |
ઑફકેનવાસ તત્વ બતાવે છે. ઑફકેનવાસ એલિમેન્ટ વાસ્તવમાં બતાવવામાં આવે તે પહેલાં કૉલર પર પાછા ફરે છે (એટલે કે shown.bs.offcanvas ઇવેન્ટ થાય તે પહેલાં). |
hide |
ઑફકેનવાસ ઘટક છુપાવે છે. ઑફકેનવાસ એલિમેન્ટ વાસ્તવમાં છુપાયેલું હોય તે પહેલાં (એટલે કે hidden.bs.offcanvas ઘટના બને તે પહેલાં) કૉલર પર પાછા ફરે છે. |
getInstance |
સ્ટેટિક પદ્ધતિ જે તમને DOM એલિમેન્ટ સાથે સંકળાયેલ ઑફકેનવાસ ઇન્સ્ટન્સ મેળવવા માટે પરવાનગી આપે છે |
getOrCreateInstance |
સ્ટેટિક મેથડ જે તમને DOM એલિમેન્ટ સાથે સંકળાયેલ ઑફકેનવાસ ઇન્સ્ટન્સ મેળવવાની પરવાનગી આપે છે અથવા જો તે આરંભ ન થયું હોય તો નવું બનાવવાની મંજૂરી આપે છે |
ઘટનાઓ
બુટસ્ટ્રેપનો ઓફકેનવાસ ક્લાસ ઓફકેનવાસ કાર્યક્ષમતામાં હૂક કરવા માટે કેટલીક ઘટનાઓને ઉજાગર કરે છે.
ઇવેન્ટનો પ્રકાર | વર્ણન |
---|---|
show.bs.offcanvas |
show જ્યારે ઇન્સ્ટન્સ પદ્ધતિને બોલાવવામાં આવે ત્યારે આ ઇવેન્ટ તરત જ ફાયર થાય છે. |
shown.bs.offcanvas |
જ્યારે ઑફકેનવાસ ઘટક વપરાશકર્તાને દૃશ્યક્ષમ બનાવવામાં આવે ત્યારે આ ઇવેન્ટને ફાયર કરવામાં આવે છે (CSS સંક્રમણો પૂર્ણ થવાની રાહ જોશે). |
hide.bs.offcanvas |
hide જ્યારે પદ્ધતિને બોલાવવામાં આવે ત્યારે આ ઇવેન્ટ તરત જ કાઢી નાખવામાં આવે છે. |
hidden.bs.offcanvas |
જ્યારે ઑફકેનવાસ ઘટક વપરાશકર્તાથી છુપાવવામાં આવ્યું હોય ત્યારે આ ઇવેન્ટ ફાયર કરવામાં આવે છે (CSS સંક્રમણો પૂર્ણ થવાની રાહ જોશે). |
var myOffcanvas = document.getElementById('myOffcanvas')
myOffcanvas.addEventListener('hidden.bs.offcanvas', function () {
// do something...
})