Maslahat
Animatsiyalar uchun CSS3 va mahalliy sarlavhalarni saqlash uchun ma'lumotlar-bs-atributlaridan foydalangan holda CSS va JavaScript bilan maxsus Bootstrap maslahatlarini qo'shish uchun hujjatlar va misollar.
Umumiy koʻrinish
Maslahat plaginidan foydalanganda bilishingiz kerak bo'lgan narsalar:
- Maslahatlar joylashishni aniqlash uchun uchinchi tomon kutubxonasi Popperga tayanadi . Maslahatlar ishlashi uchun bootstrap.js dan oldin popper.min.js ni qo'shishingiz yoki Popperni o'z ichiga olgan
bootstrap.bundle.min.js
/ dan foydalanishingiz kerak !bootstrap.bundle.js
- Maslahatlar unumdorlik sabablariga ko'ra qo'shiladi, shuning uchun ularni o'zingiz ishga tushirishingiz kerak .
- Nol uzunlikdagi sarlavhali maslahatlar hech qachon ko'rsatilmaydi.
container: 'body'
Murakkabroq komponentlarda (masalan, kirish guruhlarimiz, tugma guruhlarimiz va h.k.) muammolarni keltirib chiqarmaslik uchun belgilang .- Yashirin elementlarda maslahatlarni ishga tushirish ishlamaydi.
.disabled
Yoki elementlar uchun maslahatlar oʻramdisabled
elementida ishga tushirilishi kerak.- Bir nechta satrlarni qamrab oluvchi giperhavolalardan ishga tushirilganda, maslahatlar markazlashtiriladi. Ushbu xatti-harakatdan qochish
white-space: nowrap;
uchun s-da foydalaning.<a>
- Tegishli elementlar DOMdan olib tashlanishidan oldin maslahatlar yashirilishi kerak.
- Ko'rsatmalar soya DOM ichidagi element tufayli ishga tushirilishi mumkin.
prefers-reduced-motion
media so'roviga bog'liq. Maxsus imkoniyatlar hujjatlarimizning qisqartirilgan harakat bo'limiga qarang
.
Hammasi bormi? Ajoyib, keling, ularning qanday ishlashini ba'zi misollar bilan ko'rib chiqaylik.
Misol: Maslahatlarni hamma joyda yoqing
Sahifadagi barcha maslahatlarni ishga tushirishning bir usuli ularni data-bs-toggle
atributiga ko'ra tanlashdir:
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
})
Misollar
Maslahatlarni ko'rish uchun kursorni quyidagi havolalar ustiga olib boring:
Maslahatlar bilan ba'zi ichki havolalarni ko'rsatish uchun to'ldiruvchi matn . Bu endi faqat to'ldiruvchi, qotil emas. Bu yerda faqat haqiqiy matn mavjudligini taqlid qilish uchun joylashtirilgan kontent . Va bularning barchasi sizga haqiqiy vaziyatlarda foydalanilganda maslahatlar qanday ko'rinishi haqida fikr berish uchun. Umid qilamanki, siz o'zingizning saytingizda yoki loyihangizda foydalansangiz, havolalardagi ushbu maslahatlar amalda qanday ishlashini ko'rgansiz .
To'rtta maslahat yo'nalishini ko'rish uchun quyidagi tugmalar ustiga kursorni bosing: yuqori, o'ng, pastki va chap. RTL-da Bootstrap-dan foydalanganda ko'rsatmalar aks ettiriladi.
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="top" title="Tooltip on top">
Tooltip on top
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="right" title="Tooltip on right">
Tooltip on right
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Tooltip on bottom">
Tooltip on bottom
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="left" title="Tooltip on left">
Tooltip on left
</button>
Va maxsus HTML qo'shilgan:
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-html="true" title="<em>Tooltip</em> <u>with</u> <b>HTML</b>">
Tooltip with HTML
</button>
SVG bilan:
Sass
O'zgaruvchilar
$tooltip-font-size: $font-size-sm;
$tooltip-max-width: 200px;
$tooltip-color: $white;
$tooltip-bg: $black;
$tooltip-border-radius: $border-radius;
$tooltip-opacity: .9;
$tooltip-padding-y: $spacer * .25;
$tooltip-padding-x: $spacer * .5;
$tooltip-margin: 0;
$tooltip-arrow-width: .8rem;
$tooltip-arrow-height: .4rem;
$tooltip-arrow-color: $tooltip-bg;
Foydalanish
Ko'rsatma plagini so'rov bo'yicha tarkib va belgilarni yaratadi va sukut bo'yicha maslahatlarni ishga tushirish elementidan keyin joylashtiradi.
JavaScript orqali asboblar maslahatini ishga tushiring:
var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, options)
Toshib ketish auto
vascroll
Ko'rsatma joylashuvi ota-konteynerda bo'lsa overflow: auto
yoki overflow: scroll
biznikiga o'xshasa, avtomatik ravishda o'zgartirishga harakat qiladi .table-responsive
, lekin asl joylashuv joylashuvini saqlab qoladi. Buni hal qilish uchun standart qiymatni bekor qilish uchun boundary
opsiyani (opsiyadan foydalangan holda flip modifikatori uchun popperConfig
) istalgan HTMLElementga o‘rnating 'clippingParents'
, masalan document.body
:
var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, {
boundary: document.body // or document.querySelector('#boundary')
})
Belgilash
Maslahat uchun kerakli belgi faqat data
atribut title
bo'lib, HTML elementida siz maslahatchi bo'lishni xohlaysiz. Ko'rsatmaning yaratilgan belgilari juda oddiy, lekin u joyni talab qilsa (odatda, top
plagin tomonidan o'rnatiladi).
Klaviatura va yordamchi texnologiyalar foydalanuvchilari uchun maslahatlar ishlashi
Siz faqat an'anaviy ravishda klaviaturaga qaratiladigan va interaktiv bo'lgan HTML elementlariga maslahatlar qo'shishingiz kerak (masalan, havolalar yoki shakl boshqaruvlari). Garchi ixtiyoriy HTML elementlarini (masalan, <span>
s) atributni qoʻshish orqali diqqatni jamlash mumkin boʻlsa -da tabindex="0"
, bu klaviatura foydalanuvchilari uchun interaktiv boʻlmagan elementlarga potentsial bezovta qiluvchi va chalkash tab toʻxtash joylarini qoʻshadi va hozirda koʻpchilik yordamchi texnologiyalar bu vaziyatda asboblar maslahatini eʼlon qilmaydi. Bunga qo'shimcha ravishda, maslahat uchun faqat hover
trigger sifatida ishonmang, chunki bu sizning maslahatlaringizni klaviatura foydalanuvchilari uchun ishga tushirishni imkonsiz qiladi.
<!-- HTML to write -->
<a href="#" data-bs-toggle="tooltip" title="Some tooltip text!">Hover over me</a>
<!-- Generated markup by the plugin -->
<div class="tooltip bs-tooltip-top" role="tooltip">
<div class="tooltip-arrow"></div>
<div class="tooltip-inner">
Some tooltip text!
</div>
</div>
O'chirilgan elementlar
Atributga ega boʻlgan elementlar disabled
interaktiv emas, yaʼni foydalanuvchilar koʻrsatmani (yoki qalqib chiquvchi) ishga tushirish uchun ularga diqqatini qarata olmaydi, kursorni koʻtara olmaydi yoki bosmaydi. Vaqtinchalik yechim sifatida siz oʻram <div>
yoki <span>
klaviaturadan foydalanib, klaviaturaga eʼtibor qaratilishi mumkin boʻlgan vosita maslahatini ishga tushirishni xohlaysiz tabindex="0"
.
<span class="d-inline-block" tabindex="0" data-bs-toggle="tooltip" title="Disabled tooltip">
<button class="btn btn-primary" type="button" disabled>Disabled button</button>
</span>
Variantlar
Variantlar ma'lumotlar atributlari yoki JavaScript orqali uzatilishi mumkin. Maʼlumotlar atributlari uchun opsiya nomini quyidagi data-bs-
kabi qoʻshing data-bs-animation=""
. Variantlarni maʼlumotlar atributlari orqali oʻtkazishda optsion nomining registr turini camelCase’dan kabob-case’ga oʻzgartirishni unutmang. Misol uchun, dan foydalanish o'rniga data-bs-customClass="beautifier"
, foydalaning data-bs-custom-class="beautifier"
.
sanitize
,
sanitizeFn
va
allowList
opsiyalari maʼlumotlar atributlari yordamida taʼminlanishi mumkin emas.
Ism | Turi | Standart | Tavsif |
---|---|---|---|
animation |
mantiqiy | true |
Asboblar maslahatiga CSS o'tishini qo'llang |
container |
string | element | yolg'on | false |
Maslahatni ma'lum bir elementga qo'shadi. Misol: |
delay |
raqam | ob'ekt | 0 |
Maslahatni ko'rsatish va yashirishni kechiktirish (ms) - qo'lda ishga tushirish turiga taalluqli emas Agar raqam berilgan bo'lsa, kechikish ikkala yashirish/ko'rsatish uchun ham qo'llaniladi Ob'ekt tuzilishi: |
html |
mantiqiy | false |
Asboblar panelida HTMLga ruxsat bering. Agar rost bo'lsa, asboblar maslahatidagi HTML teglari asboblar XSS hujumlaridan xavotirda bo'lsangiz, matndan foydalaning. |
placement |
string | funktsiyasi | 'top' |
Maslahatni qanday joylashtirish mumkin - avtomatik | yuqori | pastki | chap | to'g'ri. Joylashuvni aniqlash uchun funktsiyadan foydalanilganda, u birinchi argument sifatida asboblar maslahati DOM tuguni va ikkinchi argument sifatida DOM tugunini ishga tushirish elementi bilan chaqiriladi. |
selector |
string | yolg'on | false |
Agar selektor taqdim etilsa, asboblar paneli ob'ektlari belgilangan maqsadlarga topshiriladi. Amalda, bu dinamik ravishda qo'shilgan DOM elementlariga ( jQuery.on qo'llab-quvvatlash) maslahatlarni qo'llash uchun ham ishlatiladi. Buni va ma'lumot beruvchi misolni ko'ring . |
template |
ip | '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' |
Maslahat yaratishda foydalanish uchun asosiy HTML. Maslahatlar ga
Eng tashqi o'rash elementi va |
title |
string | element | funktsiyasi | '' |
Atribut mavjud bo'lmasa, birlamchi sarlavha qiymati Agar funktsiya berilgan bo'lsa, u |
trigger |
ip | 'hover focus' |
Maslahatchi qanday ishga tushiriladi - | tugmasini bosing hover | diqqat | qo'llanma. Siz bir nechta triggerlardan o'tishingiz mumkin; ularni bo'sh joy bilan ajrating.
|
fallbackPlacements |
massiv | ['top', 'right', 'bottom', 'left'] |
Massivdagi joylashtirishlar roʻyxatini taqdim etish orqali zaxira joylashtirishlarni aniqlang (afzallik tartibida). Qo'shimcha ma'lumot olish uchun Popperning xatti-harakatlari hujjatlariga qarang |
boundary |
string | element | 'clippingParents' |
Asboblar maslahatining toshib ketishni cheklash chegarasi (faqat Popperning preventOverflow modifikatoriga tegishli). Odatiy bo'lib, u 'clippingParents' HTMLElement havolasini qabul qilishi mumkin (faqat JavaScript orqali). Qo'shimcha ma'lumot olish uchun Popperning detectOverflow hujjatlariga qarang . |
customClass |
string | funktsiyasi | '' |
Ko'rsatilganda, asboblar maslahatiga sinflarni qo'shing. E'tibor bering, bu sinflar shablonda ko'rsatilgan har qanday sinflarga qo'shimcha ravishda qo'shiladi. Bir nechta sinflarni qo'shish uchun ularni bo'sh joylar bilan ajrating: Bundan tashqari, qo'shimcha sinf nomlarini o'z ichiga olgan bitta satrni qaytarishi kerak bo'lgan funktsiyani o'tkazishingiz mumkin. |
sanitize |
mantiqiy | true |
Sanitizatsiyani yoqing yoki o'chiring. Agar faollashtirilsa 'template' va 'title' opsiyalar tozalanadi. JavaScript hujjatlarimizdagi dezinfektsiyalash bo'limiga qarang . |
allowList |
ob'ekt | Standart qiymat | Ruxsat berilgan atributlar va teglarni o'z ichiga olgan ob'ekt |
sanitizeFn |
null | funktsiyasi | null |
Bu erda siz o'zingizning dezinfektsiyalash funksiyangizni taqdim etishingiz mumkin. Sanitizatsiyani amalga oshirish uchun maxsus kutubxonadan foydalanishni afzal ko'rsangiz, bu foydali bo'lishi mumkin. |
offset |
massiv | string | funktsiyasi | [0, 0] |
Asboblar maslahatining maqsadiga nisbatan ofseti. Siz qatorni vergul bilan ajratilgan ma'lumotlar atributlariga o'tkazishingiz mumkin, masalan: Ofsetni aniqlash uchun funktsiyadan foydalanilganda, u birinchi argument sifatida popper joylashuvi, havola va popper rectsni o'z ichiga olgan ob'ekt bilan chaqiriladi. DOM tugunining ishga tushiruvchi elementi ikkinchi argument sifatida uzatiladi. Funktsiya ikkita raqamdan iborat massivni qaytarishi kerak: . Qo'shimcha ma'lumot olish uchun Popperning ofset hujjatlariga qarang . |
popperConfig |
null | ob'ekt | funktsiyasi | null |
Bootstrap-ning standart Popper konfiguratsiyasini o'zgartirish uchun Popper konfiguratsiyasiga qarang . Popper konfiguratsiyasini yaratish uchun funktsiyadan foydalanilganda, u Bootstrap standart Popper konfiguratsiyasini o'z ichiga olgan ob'ekt bilan chaqiriladi. Bu standartni o'zingizning konfiguratsiyangiz bilan ishlatish va birlashtirishga yordam beradi. Funktsiya Popper uchun konfiguratsiya ob'ektini qaytarishi kerak. |
Shaxsiy maslahatlar uchun ma'lumotlar atributlari
Yuqorida aytib o'tilganidek, individual maslahatlar uchun variantlar ma'lumotlar atributlaridan foydalanish orqali belgilanishi mumkin.
Funktsiyadan foydalanishpopperConfig
var tooltip = new bootstrap.Tooltip(element, {
popperConfig: function (defaultBsPopperConfig) {
// var newPopperConfig = {...}
// use defaultBsPopperConfig if needed...
// return newPopperConfig
}
})
Usullari
Asinxron usullar va o'tishlar
Barcha API usullari asenkron va o'tishni boshlaydi . O'tish boshlanishi bilanoq, lekin tugashidan oldin ular qo'ng'iroq qiluvchiga qaytadilar . Bundan tashqari, o'tish komponentidagi usul chaqiruvi e'tiborga olinmaydi .
Qo'shimcha ma'lumot olish uchun bizning JavaScript hujjatlariga qarang .
ko'rsatish
Elementning asboblar maslahatini ko'rsatadi. Maslahat ko'rsatilishidan oldin (ya'ni voqea sodir bo'lishidan oldin) qo'ng'iroq qiluvchiga qaytadi . shown.bs.tooltip
Bu asboblar maslahatining "qo'lda" ishga tushirilishi hisoblanadi. Nol uzunlikdagi sarlavhali maslahatlar hech qachon ko'rsatilmaydi.
tooltip.show()
yashirish
Elementning asboblar maslahatini yashiradi. Maslahat haqiqatda yashirilgunga qadar (ya'ni hidden.bs.tooltip
voqea sodir bo'lishidan oldin) qo'ng'iroq qiluvchiga qaytadi. Bu asboblar maslahatining "qo'lda" ishga tushirilishi hisoblanadi.
tooltip.hide()
almashtirish
Elementning asboblar maslahatini almashtiradi. Maslahat ko'rsatilishidan yoki yashirilishidan oldin (ya'ni yoki hodisa sodir bo'lishidan oldin) qo'ng'iroq qiluvchiga qaytadi . Bu asboblar maslahatining "qo'lda" ishga tushirilishi hisoblanadi.shown.bs.tooltip
hidden.bs.tooltip
tooltip.toggle()
tasarruf qilish
Elementning asboblar maslahatini yashiradi va yo'q qiladi (DOM elementida saqlangan ma'lumotlarni o'chiradi). Delegatsiyadan foydalanadigan maslahatlarni ( opsiya yordamida yaratilgan )selector
nasl trigger elementlarida alohida yo‘q qilib bo‘lmaydi.
tooltip.dispose()
yoqish
Elementning asboblar maslahatiga ko'rsatish imkoniyatini beradi. Maslahatlar sukut bo'yicha yoqilgan.
tooltip.enable()
o'chirish
Elementning asboblar maslahatini ko'rsatish imkoniyatini olib tashlaydi. Maslahat faqat qayta yoqilgan bo'lsa, ko'rsatilishi mumkin bo'ladi.
tooltip.disable()
toggleEnabled
Elementning asboblar maslahatini ko'rsatish yoki yashirish imkoniyatini o'zgartiradi.
tooltip.toggleEnabled()
yangilash
Elementning asboblar maslahati o'rnini yangilaydi.
tooltip.update()
getInstance
DOM elementi bilan bog'liq bo'lgan maslahat namunasini olish imkonini beruvchi statik usul
var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance
getOrCreateInstance
DOM elementi bilan bog'langan maslahat namunasini olish yoki agar u ishga tushirilmagan bo'lsa, yangisini yaratish imkonini beruvchi statik usul
var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getOrCreateInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance
Voqealar
Tadbir turi | Tavsif |
---|---|
show.bs.tooltip |
Ushbu hodisa show misol usuli chaqirilganda darhol ishga tushadi. |
shown.bs.tooltip |
Ushbu hodisa asboblar maslahati foydalanuvchiga ko'rinadigan holga keltirilgach, ishga tushiriladi (CSS o'tishlari tugashini kutadi). |
hide.bs.tooltip |
Ushbu hodisa hide misol usuli chaqirilganda darhol o'chiriladi. |
hidden.bs.tooltip |
Ushbu voqea asboblar maslahati foydalanuvchidan yashirishni tugatgandan so'ng ishga tushiriladi (CSS o'tishlari tugashini kutadi). |
inserted.bs.tooltip |
Ushbu hodisa voqeadan so'ng show.bs.tooltip DOMga asboblar maslahati shablonini qo'shgandan so'ng o'chiriladi. |
var myTooltipEl = document.getElementById('myTooltip')
var tooltip = new bootstrap.Tooltip(myTooltipEl)
myTooltipEl.addEventListener('hidden.bs.tooltip', function () {
// do something...
})
tooltip.hide()