אָפקאַנוואַס
בויען פאַרבאָרגן סיידבאַרז אין דיין פּרויעקט פֿאַר נאַוויגאַציע, שאַפּינג קאַרץ און מער מיט עטלעכע קלאסן און אונדזער דזשאַוואַסקריפּט פּלוגין.
וויאזוי עס ארבעט
Offcanvas איז אַ סיידבאַר קאָמפּאָנענט וואָס קענען זיין טאַגאַלד דורך דזשאַוואַסקריפּט צו דערשייַנען פֿון די לינקס, רעכט אָדער דנאָ ברעג פון די וויופּאָרט. קנעפּלעך אָדער אַנגקערז זענען געניצט ווי טריגערז וואָס זענען אַטאַטשט צו ספּעציפיש עלעמענטן איר טאַגאַל, און data
אַטריביוץ זענען גענוצט צו רופן אונדזער דזשאַוואַסקריפּט.
- Offcanvas שאַרעס עטלעכע פון די זעלבע דזשאַוואַסקריפּט קאָד ווי מאָדאַלז. קאַנסעפּטשואַלי, זיי זענען גאַנץ ענלעך, אָבער זיי זענען באַזונדער פּלוגינס.
- סימילאַרלי, עטלעכע מקור סאַסס וועריאַבאַלז פֿאַר אָפקאַנוואַס ס סטיילז און דימענשאַנז זענען ינכעראַטיד פון די מאָדאַל וועריאַבאַלז.
- ווען געוויזן, אָפקאַנוואַס כולל אַ פעליקייַט באַקדראַפּ וואָס קענען זיין קליקט צו באַהאַלטן די אָפקאַנוואַס.
- ענלעך צו מאָדאַלס, בלויז איין אָפקאַנוואַס קענען זיין געוויזן אין אַ צייט.
קאָפּ אַרויף! געגעבן ווי CSS כאַנדאַלז אַנאַמיישאַנז, איר קענען נישט נוצן margin
אָדער translate
אויף אַן .offcanvas
עלעמענט. אַנשטאָט, נוצן די קלאַס ווי אַ פרייַ ראַפּינג עלעמענט.
prefers-reduced-motion
מידיאַ אָנפֿרעג. זען די
רידוסט באַוועגונג אָפּטיילונג פון אונדזער אַקסעסאַביליטי דאַקיומענטיישאַן .
ביישפילן
אָפקאַנוואַס קאַמפּאָונאַנץ
ונטער איז אַן אָפקאַנוואַס ביישפּיל וואָס איז געוויזן דורך פעליקייַט (דורך .show
אויף .offcanvas
). 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>
לעבן דעמאָ
ניצן די קנעפּלעך אונטן צו ווייַזן און באַהאַלטן אַן אָפקאַנוואַס עלעמענט דורך דזשאַוואַסקריפּט וואָס טאַגאַלז די .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"
זינט מיר שוין לייגן עס דורך דזשאַוואַסקריפּט.
סאַס
וועריאַבאַלז
$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"
אַטריביוט, וואָס טריגערז די דזשאַוואַסקריפּט פאַנגקשאַנאַליטי. זייט זיכער צו נוצן דעם <button>
עלעמענט מיט אים פֿאַר געהעריק נאַטור אויף אַלע דעוויסעס.
דורך דאַטן אַטריביוץ
Toggle
לייג data-bs-toggle="offcanvas"
און אַ 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>
דורך דזשאַוואַסקריפּט
געבן מאַניואַלי מיט:
var offcanvasElementList = [].slice.call(document.querySelectorAll('.offcanvas'))
var offcanvasList = offcanvasElementList.map(function (offcanvasEl) {
return new bootstrap.Offcanvas(offcanvasEl)
})
אָפּציעס
אָפּציעס קענען זיין דורכגעגאנגען דורך דאַטן אַטריביוץ אָדער דזשאַוואַסקריפּט. פֿאַר דאַטן אַטריביוץ, צולייגן די אָפּציע נאָמען צו data-bs-
, ווי אין data-bs-backdrop=""
.
נאָמען | טיפּ | פעליקייַט | באַשרייַבונג |
---|---|---|---|
backdrop |
בוליאַן | true |
צולייגן אַ באַקדראַפּ אויף דעם גוף בשעת אָפקאַנוואַס איז אָפן |
keyboard |
בוליאַן | true |
קלאָוזיז די אָפקאַנוואַס ווען אַנטלויפן שליסל איז געדריקט |
scroll |
בוליאַן | false |
לאָזן גוף סקראָללינג בשעת אָפקאַנוואַס איז אָפן |
מעטהאָדס
אַסינטשראָנאָוס מעטהאָדס און טראַנזישאַנז
אַלע אַפּי מעטהאָדס זענען ייסינגקראַנאַס און אָנהייבן אַ יבערגאַנג . זיי צוריקקומען צו די קאַללער ווי באַלד ווי די יבערגאַנג איז סטאַרטעד אָבער איידער עס ענדס . אין אַדישאַן, אַ מעטאָד רופן אויף אַ יבערגאַנג קאָמפּאָנענט וועט זיין איגנאָרירט .
זען אונדזער דזשאַוואַסקריפּט דאַקיומענטיישאַן פֿאַר מער אינפֿאָרמאַציע .
אַקטאַווייץ דיין אינהאַלט ווי אַן אָפקאַנוואַס עלעמענט. אַקסעפּץ אַן אַפּשאַנאַל אָפּציעס 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...
})