טאָסט
פּוש נאָוטאַפאַקיישאַנז צו דיין וויזאַטערז מיט אַ טאָסט, אַ לייטווייט און לייכט קוסטאָמיזאַבלע פלינק אָנזאָג.
טאָוסטס זענען לייטווייט נאָוטאַפאַקיישאַנז דיזיינד צו נאָכקרימען די שטופּן נאָוטאַפאַקיישאַנז וואָס זענען פּאָפּולאַרייזד דורך רירעוודיק און דעסקטאַפּ אָפּערייטינג סיסטעמען. זיי זענען געבויט מיט פלעקסבאָקס, אַזוי זיי זענען גרינג צו ייַנרייען און שטעלע.
איבערבליק
טינגז צו וויסן ווען איר נוצן די טאָסט פּלוגין:
- טאָוסטס זענען אַפּט-אין פֿאַר פאָרשטעלונג סיבות, אַזוי איר מוזן ינישאַלייז זיי זיך .
- טאָוסט וועט אויטאָמאַטיש באַהאַלטן אויב איר טאָן ניט ספּעציפיצירן
autohide: false
.
prefers-reduced-motion
מידיאַ אָנפֿרעג. זען די
רידוסט באַוועגונג אָפּטיילונג פון אונדזער אַקסעסאַביליטי דאַקיומענטיישאַן .
ביישפילן
באַסיק
צו מוטיקן עקסטענסיבלע און פּרידיקטאַבאַל טאָסט, מיר רעקאָמענדירן אַ כעדער און גוף. טאָסט כעדערז נוצן display: flex
, אַלאַוינג גרינג אַליינמאַנט פון אינהאַלט דאַנק צו אונדזער גרענעץ און פלעקסבאָקס יוטילאַטיז.
טאָוסט זענען ווי פלעקסאַבאַל ווי איר דאַרפֿן און האָבן זייער קליין פארלאנגט מאַרקאַפּ. אין אַ מינימום, מיר דאַרפן אַ איין עלעמענט צו אַנטהאַלטן דיין "טאָוסטיד" אינהאַלט און שטארק מוטיקן אַ אָפּזאָגן קנעפּל.
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small>11 mins ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
.hide
קלאַס צו גאָר באַהאַלטן אַ טאָסט (מיט
display:none
, אלא ווי בלויז מיט
opacity:0
). דאס איז איצט ניט נייטיק ענימאָר. אָבער, פֿאַר קאַפּויער קאַמפּאַטאַבילאַטי, אונדזער שריפט וועט פאָרזעצן צו טוישן די קלאַס (כאָטש עס איז קיין פּראַקטיש נויט פֿאַר עס) ביז דער ווייַטער הויפּט ווערסיע.
לעבן בייַשפּיל
דריקט דעם קנעפּל אונטן צו ווייַזן אַ טאָסט (פּאַזישאַנד מיט אונדזער יוטילאַטיז אין דער נידעריקער רעכט ווינקל) וואָס איז פאַרבאָרגן דורך פעליקייַט.
<button type="button" class="btn btn-primary" id="liveToastBtn">Show live toast</button>
<div class="position-fixed bottom-0 end-0 p-3" style="z-index: 11">
<div id="liveToast" class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small>11 mins ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
</div>
מיר נוצן די פאלגענדע דזשאַוואַסקריפּט צו צינגל אונדזער לעבן טאָסט דעמאָ:
var toastTrigger = document.getElementById('liveToastBtn')
var toastLiveExample = document.getElementById('liveToast')
if (toastTrigger) {
toastTrigger.addEventListener('click', function () {
var toast = new bootstrap.Toast(toastLiveExample)
toast.show()
})
}
טראַנסלוסאַנט
טאָוסט זענען אַ ביסל טראַנסלוסאַנט צו צונויפגיסן מיט וואָס איז אונטער זיי.
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small class="text-muted">11 mins ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
סטאַקינג
איר קענען אָנלייגן טאָסט דורך ראַפּינג זיי אין אַ טאָסט קאַנטיינער, וואָס וועט ווערטיקלי לייגן עטלעכע ספּייסינג.
<div class="toast-container">
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small class="text-muted">just now</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
See? Just like this.
</div>
</div>
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small class="text-muted">2 seconds ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Heads up, toasts will stack automatically
</div>
</div>
</div>
מנהג אינהאַלט
קאַסטאַמייז דיין טאָסט דורך רימוווינג סאַב-קאָמפּאָנענטן, טוויקינג זיי מיט יוטילאַטיז אָדער דורך אַדינג דיין אייגענע מאַרקאַפּ. דאָ מיר האָבן באשאפן אַ סימפּלער טאָסט דורך רימוווינג די פעליקייַט .toast-header
, אַדינג אַ מנהג באַהאַלטן ייקאַן פֿון Bootstrap Icons און ניצן עטלעכע פלעקסבאָקס יוטילאַטיז צו סטרויערן די אויסלייג.
<div class="toast align-items-center" role="alert" aria-live="assertive" aria-atomic="true">
<div class="d-flex">
<div class="toast-body">
Hello, world! This is a toast message.
</div>
<button type="button" class="btn-close me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
</div>
אַלטערנאַטיוועלי, איר קענען אויך לייגן נאָך קאָנטראָלס און קאַמפּאָונאַנץ צו טאָסט.
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-body">
Hello, world! This is a toast message.
<div class="mt-2 pt-2 border-top">
<button type="button" class="btn btn-primary btn-sm">Take action</button>
<button type="button" class="btn btn-secondary btn-sm" data-bs-dismiss="toast">Close</button>
</div>
</div>
</div>
קאָליר סקימז
מיט דעם ביישפּיל אויבן, איר קענען מאַכן פאַרשידענע טאָסט קאָליר סקימז מיט אונדזער קאָליר און הינטערגרונט יוטילאַטיז. דאָ מיר האָבן צוגעלייגט .bg-primary
און .text-white
צו די .toast
, און דערנאָך צוגעגעבן .btn-close-white
צו אונדזער נאָענט קנעפּל. פֿאַר אַ קרוכלע ברעג, מיר באַזייַטיקן די פעליקייַט גרענעץ מיט .border-0
.
<div class="toast align-items-center text-white bg-primary border-0" role="alert" aria-live="assertive" aria-atomic="true">
<div class="d-flex">
<div class="toast-body">
Hello, world! This is a toast message.
</div>
<button type="button" class="btn-close btn-close-white me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
</div>
פּלייסמאַנט
שטעלן טאָסט מיט מנהג CSS ווי איר דאַרפֿן זיי. די שפּיץ רעכט איז אָפט געניצט פֿאַר נאָוטאַפאַקיישאַנז, ווי די שפּיץ מיטל. אויב איר וועט נאָר ווייַזן איין טאָסט אין אַ צייַט, שטעלן די פּאַזישאַנינג סטיילז רעכט אויף די .toast
.
<form>
<div class="mb-3">
<label for="selectToastPlacement">Toast placement</label>
<select class="form-select mt-2" id="selectToastPlacement">
<option value="" selected>Select a position...</option>
<option value="top-0 start-0">Top left</option>
<option value="top-0 start-50 translate-middle-x">Top center</option>
<option value="top-0 end-0">Top right</option>
<option value="top-50 start-0 translate-middle-y">Middle left</option>
<option value="top-50 start-50 translate-middle">Middle center</option>
<option value="top-50 end-0 translate-middle-y">Middle right</option>
<option value="bottom-0 start-0">Bottom left</option>
<option value="bottom-0 start-50 translate-middle-x">Bottom center</option>
<option value="bottom-0 end-0">Bottom right</option>
</select>
</div>
</form>
<div aria-live="polite" aria-atomic="true" class="bg-dark position-relative bd-example-toasts">
<div class="toast-container position-absolute p-3" id="toastPlacement">
<div class="toast">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small>11 mins ago</small>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
</div>
</div>
פֿאַר סיסטעמען וואָס דזשענערייט מער נאָוטאַפאַקיישאַנז, באַטראַכטן ניצן אַ ראַפּינג עלעמענט אַזוי זיי קענען לייכט אָנלייגן.
<div aria-live="polite" aria-atomic="true" class="position-relative">
<!-- Position it: -->
<!-- - `.toast-container` for spacing between toasts -->
<!-- - `.position-absolute`, `top-0` & `end-0` to position the toasts in the upper right corner -->
<!-- - `.p-3` to prevent the toasts from sticking to the edge of the container -->
<div class="toast-container position-absolute top-0 end-0 p-3">
<!-- Then put toasts within -->
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small class="text-muted">just now</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
See? Just like this.
</div>
</div>
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small class="text-muted">2 seconds ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Heads up, toasts will stack automatically
</div>
</div>
</div>
</div>
איר קענען אויך באַקומען פאַנטאַזיע מיט פלעקסבאָקס יוטילאַטיז צו ייַנרייען טאָסט כאָריזאַנטאַלי און / אָדער ווערטיקלי.
<!-- Flexbox container for aligning the toasts -->
<div aria-live="polite" aria-atomic="true" class="d-flex justify-content-center align-items-center w-100">
<!-- Then put toasts within -->
<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small>11 mins ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
</div>
אַקסעסאַביליטי
טאָוסטס זענען בדעה צו זיין קליין ינטעראַפּשאַנז פֿאַר דיין וויזאַטערז אָדער יוזערז, אַזוי צו העלפֿן יענע מיט פאַרשטעלן לייענער און ענלעך אַסיסטאַנץ טעקנאַלאַדזשיז, איר זאָל ייַנוויקלען דיין טאָסט אין אַ aria-live
געגנט . ענדערונגען צו לעבן מקומות (אַזאַ ווי ינדזשעקטינג / אַפּדייטינג אַ טאָסט קאָמפּאָנענט) זענען אויטאָמאַטיש אַנאַונסט דורך פאַרשטעלן לייענער אָן נויט צו מאַך די באַניצער 'ס פאָקוס אָדער אַנדערש יבעררייַסן די באַניצער. אין דערצו, אַרייַננעמען aria-atomic="true"
צו ענשור אַז די גאנצע טאָסט איז שטענדיק מודיע ווי אַ איין (אַטאָמישע) אַפּאַראַט, אלא ווי נאָר אַנאַונסינג וואָס איז געביטן (וואָס קען פירן צו פּראָבלעמס אויב איר נאָר דערהייַנטיקן טייל פון די טאָסט אינהאַלט, אָדער אויב איר ווייַזן די זעלבע אינהאַלט פון טאָסט. אין אַ שפּעטער צייט). אויב די נויטיק אינפֿאָרמאַציע איז וויכטיק פֿאַר דעם פּראָצעס, למשל פֿאַר אַ רשימה פון ערראָרס אין אַ פאָרעם, נוצן די פלינק קאָמפּאָנענטאַנשטאָט טאָסט.
באַמערקונג אַז די לעבן געגנט דאַרף זיין פאָרשטעלן אין די מאַרקאַפּ איידער די טאָסט איז דזשענערייטאַד אָדער דערהייַנטיקט. אויב איר דינאַמיקאַללי דזשענערייט ביידע אין דער זעלביקער צייט און אַרייַנשפּריצן זיי אין די בלאַט, זיי וועלן בכלל נישט זיין מודיע דורך אַסיסטאַטיוו טעקנאַלאַדזשיז.
איר אויך דאַרפֿן צו אַדאַפּט די role
און aria-live
מדרגה דיפּענדינג אויף די אינהאַלט. אויב עס איז אַ וויכטיק אָנזאָג ווי אַ טעות, נוצן role="alert" aria-live="assertive"
, אַנדערש נוצן role="status" aria-live="polite"
אַטריביוץ.
ווי דער אינהאַלט איר ווייַזן ענדערונגען, זיין זיכער צו דערהייַנטיקן די delay
טיימאַוט אַזוי אַז די ניצערס האָבן גענוג צייט צו לייענען די טאָסט.
<div class="toast" role="alert" aria-live="polite" aria-atomic="true" data-bs-delay="10000">
<div role="alert" aria-live="assertive" aria-atomic="true">...</div>
</div>
ווען איר נוצן autohide: false
, איר מוזן לייגן אַ נאָענט קנעפּל צו לאָזן ניצערס צו אָפּזאָגן די טאָסט.
<div role="alert" aria-live="assertive" aria-atomic="true" class="toast" data-bs-autohide="false">
<div class="toast-header">
<img src="..." class="rounded me-2" alt="...">
<strong class="me-auto">Bootstrap</strong>
<small>11 mins ago</small>
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
כאָטש טעקניקלי עס איז מעגלעך צו לייגן פאָוקיסטאַבאַל / אַקטיאָנאַבלע קאָנטראָלס (אַזאַ ווי נאָך קנעפּלעך אָדער לינקס) אין דיין טאָסט, איר זאָל ויסמיידן טאן דעם פֿאַר אַוטאָהיידינג טאָסט. אפילו אויב איר געבן די טאָסט אַ לאַנג delay
טיימאַוט , קלאַוויאַטור און אַסיסטאַנט טעכנאָלאָגיע ניצערס קען געפֿינען עס שווער צו דערגרייכן די טאָסט אין צייט צו נעמען קאַמף (ווייַל טאָסט טאָן ניט באַקומען פאָקוס ווען זיי זענען געוויזן). אויב איר מוזן האָבן נאָך קאָנטראָלס, מיר רעקאָמענדירן צו נוצן אַ טאָסט מיט autohide: false
.
סאַס
וועריאַבאַלז
$toast-max-width: 350px;
$toast-padding-x: .75rem;
$toast-padding-y: .5rem;
$toast-font-size: .875rem;
$toast-color: null;
$toast-background-color: rgba($white, .85);
$toast-border-width: 1px;
$toast-border-color: rgba($black, .1);
$toast-border-radius: $border-radius;
$toast-box-shadow: $box-shadow;
$toast-spacing: $container-padding-x;
$toast-header-color: $gray-600;
$toast-header-background-color: rgba($white, .85);
$toast-header-border-color: rgba($black, .05);
באַניץ
ינישאַליזע טאָסט דורך דזשאַוואַסקריפּט:
var toastElList = [].slice.call(document.querySelectorAll('.toast'))
var toastList = toastElList.map(function (toastEl) {
return new bootstrap.Toast(toastEl, option)
})
טריגערס
דיסמיסאַל קענען זיין אַטשיווד מיט די data
אַטריביוט אויף אַ קנעפּל אין די טאָסט ווי דעמאַנסטרייטיד אונטן:
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
אָדער אויף אַ קנעפּל אַרויס די טאָסט ניצן די data-bs-target
ווי דעמאַנסטרייטיד אונטן:
<button type="button" class="btn-close" data-bs-dismiss="toast" data-bs-target="#my-toast" aria-label="Close"></button>
אָפּציעס
אָפּציעס קענען זיין דורכגעגאנגען דורך דאַטן אַטריביוץ אָדער דזשאַוואַסקריפּט. פֿאַר דאַטן אַטריביוץ, צולייגן די אָפּציע נאָמען צו data-bs-
, ווי אין data-bs-animation=""
.
נאָמען | טיפּ | פעליקייַט | באַשרייַבונג |
---|---|---|---|
animation |
בוליאַן | true |
צולייגן אַ CSS וועלקן יבערגאַנג צו די טאָסט |
autohide |
בוליאַן | true |
אַוטאָ באַהאַלטן די טאָסט |
delay |
נומער | 5000 |
פאַרהאַלטן כיידינג די טאָסט (מס) |
מעטהאָדס
אַסינטשראָנאָוס מעטהאָדס און טראַנזישאַנז
אַלע אַפּי מעטהאָדס זענען ייסינגקראַנאַס און אָנהייבן אַ יבערגאַנג . זיי צוריקקומען צו די קאַללער ווי באַלד ווי די יבערגאַנג איז סטאַרטעד אָבער איידער עס ענדס . אין אַדישאַן, אַ מעטאָד רופן אויף אַ יבערגאַנג קאָמפּאָנענט וועט זיין איגנאָרירט .
זען אונדזער דזשאַוואַסקריפּט דאַקיומענטיישאַן פֿאַר מער אינפֿאָרמאַציע .
ווייַזן
אַנטפּלעקט אַן עלעמענט ס טאָסט. קערט צו די קאַללער איידער די טאָסט איז אַקשלי געוויזן (ד"ה איידער די shown.bs.toast
געשעעניש אַקערז). איר מוזן מאַניואַלי רופן דעם אופֿן, אַנשטאָט דיין טאָסט וועט נישט ווייַזן.
toast.show()
באַהאַלטן
באַהאַלט אַן עלעמענט ס טאָסט. קערט צו די קאַללער איידער די טאָסט איז פאקטיש געווען פאַרבאָרגן (ד"ה איידער די hidden.bs.toast
געשעעניש אַקערז). איר האָבן צו מאַניואַלי רופן דעם אופֿן אויב איר געמאכט autohide
צו false
.
toast.hide()
פּאָטער
באַהאַלט אַן עלעמענט ס טאָסט. דיין טאָסט וועט בלייבן אויף די DOM אָבער וועט נישט ווייַזן ענימאָר.
toast.dispose()
getInstance
סטאַטיק אופֿן וואָס אַלאַוז איר צו באַקומען די טאָסט בייַשפּיל פֿאַרבונדן מיט אַ DOM עלעמענט
var myToastEl = document.getElementById('myToastEl')
var myToast = bootstrap.Toast.getInstance(myToastEl) // Returns a Bootstrap toast instance
getOrCreateInstance
סטאַטיק אופֿן וואָס אַלאַוז איר צו באַקומען די טאָסט בייַשפּיל פֿאַרבונדן מיט אַ DOM עלעמענט, אָדער שאַפֿן אַ נייַע אין פאַל עס איז נישט יניטיאַלייזד
var myToastEl = document.getElementById('myToastEl')
var myToast = bootstrap.Toast.getOrCreateInstance(myToastEl) // Returns a Bootstrap toast instance
געשעענישן
געשעעניש טיפּ | באַשרייַבונג |
---|---|
show.bs.toast |
דער געשעעניש פירט גלייך ווען דער show בייַשפּיל אופֿן איז גערופן. |
shown.bs.toast |
דעם געשעעניש איז פייערד ווען די טאָסט איז געווען קענטיק צו דער באַניצער. |
hide.bs.toast |
דעם געשעעניש איז פייערד מיד ווען די hide בייַשפּיל אופֿן איז גערופן. |
hidden.bs.toast |
דעם געשעעניש איז פייערד ווען די טאָסט איז פאַרטיק צו זיין פאַרבאָרגן פון די באַניצער. |
var myToastEl = document.getElementById('myToast')
myToastEl.addEventListener('hidden.bs.toast', function () {
// do something...
})