توست
زىيارەتچىلەرگە توست ، يېنىك ۋە ئاسان تەڭشىگىلى بولىدىغان ئاگاھلاندۇرۇش ئۇچۇرى بىلەن ئۇقتۇرۇش قىلىڭ.
توستلار كۆچمە ۋە ئۈستەل يۈزى مەشغۇلات سىستېمىسى تەرىپىدىن ئومۇملاشقان ئىتتىرىش ئۇقتۇرۇشىنى تەقلىد قىلىپ لايىھەلەنگەن يېنىك ئۇقتۇرۇش. ئۇلار ئەۋرىشىم ساندۇق بىلەن ياسالغان ، شۇڭا ئۇلارنى توغرىلاش ۋە ئورۇنلاشتۇرۇش ئاسان.
ئومۇمىي چۈشەنچە
توپا قىستۇرمىسىنى ئىشلەتكەندە بىلىشكە تېگىشلىك ئىشلار:
- توپا ئىقتىدار سەۋەبىدىن تاللىنىدۇ ، شۇڭا چوقۇم ئۇلارنى ئۆزىڭىز باشلىشىڭىز كېرەك .
- ئەگەر سىز بەلگىلىمىسىڭىز توست ئاپتوماتىك يوشۇرۇلىدۇ
autohide: false
.
prefers-reduced-motion
مېدىيا سوئالىغا باغلىق. قولايلىق ھۆججەتلىرىمىزنىڭ قىسقارتىلغان ھەرىكەت بۆلىكىنى كۆرۈڭ
.
مىساللار
Basic
كېڭەيتكىلى بولىدىغان ۋە ئالدىن پەرەز قىلغىلى بولىدىغان توستلارنى رىغبەتلەندۈرۈش ئۈچۈن ، باش ۋە بەدەننى تەۋسىيە قىلىمىز. قىستۇرما ماۋزۇلار ئىشلىتىلىدۇ 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>
بىز تۆۋەندىكى JavaScript ئارقىلىق نەق مەيدان توستىمىزنى قوزغىتىمىز:
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>
Stacking
توپا قاچىسىنى ئوراپ قاچا-قۇچىلارغا ئوراپ قويسىڭىز بولىدۇ ، بۇ تىك ھالەتتە تىك بوشلۇق قوشىدۇ.
<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>
خاس مەزمۇن
تارماق زاپچاسلارنى ئېلىۋېتىش ، ئاممىۋى مۇلازىمەتلەر بىلەن تەڭشەش ياكى ئۆزىڭىزنىڭ بەلگىسىنى قوشۇش ئارقىلىق توستىڭىزنى خاسلاشتۇرۇڭ . بۇ يەردە سۈكۈتتىكى ھالەتنى چىقىرىپ تاشلاش ، Bootstrap سىنبەلگىسىدىن.toast-header
ئىختىيارى يوشۇرۇن سىنبەلگە قوشۇش ۋە بىر قىسىم ئەۋرىشىم قوراللاردىن پايدىلىنىپ ئورۇنلاشتۇرۇشنى تەڭشەش ئارقىلىق تېخىمۇ ئاددىي توپا قۇردۇق .
<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 ئەسلىھەلىرى بىلەن توستنى توغرىسىغا ۋە ياكى تىك ھالەتتە توغرىلىيالايسىز.
<!-- 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
.
Sass
ئۆزگەرگۈچى مىقدار
$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);
ئىشلىتىش
JavaScript ئارقىلىق توستنى قوزغىتىڭ:
var toastElList = [].slice.call(document.querySelectorAll('.toast'))
var toastList = toastElList.map(function (toastEl) {
return new bootstrap.Toast(toastEl, option)
})
Triggers
تۆۋەندە كۆرسىتىلگەندەك توستى ئىچىدىكى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>
تاللانما
تاللانمىلارنى سانلىق مەلۇمات خاسلىقى ياكى JavaScript ئارقىلىق يەتكۈزگىلى بولىدۇ. سانلىق مەلۇمات خاسلىقى ئۈچۈن ، تاللاش نامىغا data-bs-
ئوخشاش data-bs-animation=""
.
ئىسمى | تىپ | سۈكۈتتىكى | چۈشەندۈرۈش |
---|---|---|---|
animation |
boolean | true |
توستقا CSS سۇس ئۆتۈشنى ئىشلىتىڭ |
autohide |
boolean | true |
توپىنى ئاپتوماتىك يوشۇرۇش |
delay |
سان | 5000 |
توست (ms) نى يوشۇرۇشنى كېچىكتۈرۈش |
Methods
ماس قەدەمسىز ئۇسۇل ۋە ئۆتكۈنچى
بارلىق API ئۇسۇللىرى ماس قەدەمسىز بولۇپ ، ئۆتكۈنچى باسقۇچنى باشلايدۇ . ئۇلار بۇرۇلۇش باشلانغان ھامان ، ئۇ ئاخىرلاشماي تۇرۇپلا تېلېفون قىلغۇچىغا قايتىپ كېلىدۇ . بۇنىڭدىن باشقا ، ئۆتكۈنچى زاپچاسنى چاقىرىش ئۇسۇلىغا سەل قارىلىدۇ .
تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن JavaScript ھۆججىتىمىزنى كۆرۈڭ .
show
بىر ئېلېمېنتنىڭ توپىنى ئاشكارىلايدۇ. توست ئەمەلىيەتتە كۆرسىتىلىشتىن بۇرۇن (يەنى ۋەقە يۈز بېرىشتىن بۇرۇن) چاقىرغۇچىغا قايتىدۇ . 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
Events
پائالىيەت تىپى | چۈشەندۈرۈش |
---|---|
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...
})