Source

Кораллар

CSS3 һәм JavaScript ярдәмендә Bootstrap коралларын өстәү өчен документлар һәм мисаллар, анимацияләр өчен CSS3 кулланып, җирле исем саклау өчен мәгълүмат-атрибутлар.

Гомуми күзәтү

Кораллар плагинын кулланганда белергә кирәк нәрсәләр:

  • Кораллар урнаштыру өчен Popper.js өченче як китапханәсенә таяналар . Bootstrap.js алдыннан popper.min.js кертергә яки корал киңәшләре эшләсен өчен Popper.js булган bootstrap.bundle.min.js/ кулланырга тиеш!bootstrap.bundle.js
  • Әгәр дә сез безнең JavaScriptны чыганактан төзисез икән, бу кирәкutil.js .
  • Кораллар эш башкару сәбәпле оптималь, шуңа күрә сез аларны үзегез башларга тиеш .
  • Нуль озынлыгы булган кораллар беркайчан да күрсәтелми.
  • container: 'body'Катлаулырак компонентларда проблемалар килеп чыкмасын өчен күрсәтегез (безнең кертү төркемнәре, төймә төркемнәре һ.б.).
  • Яшерен элементлардагы инструмент киңәшләре эшләмәячәк.
  • Электрон кораллар .disabledяки disabledэлементлар төрү элементында башланырга тиеш.
  • Берничә сызыкны үз эченә алган гиперштамалардан башлангач, инструментлар үзәкләштереләчәк. Бу тәртиптән саклану өчен с-ларда white-space: nowrap;кулланыгыз .<a>
  • Кораллар тиешле элементлар DOMдан чыгарылганчы яшерелергә тиеш.
  • Кораллар DOM күләгәсе эчендәге элемент ярдәмендә башланырга мөмкин.

Бу компонентның анимация эффекты prefers-reduced-motionмедиа соравына бәйле. Безнең документларның кыскартылган хәрәкәт бүлеген карагыз .

Барысы да бармы? Яхшы, әйдәгез аларның кайбер мисаллар белән ничек эшләвен карыйк.

Exampleрнәк: бөтен җирдә корал күрсәтмәләрен эшләгез

Биттәге барлык инструментларны башлап җибәрүнең бер ысулы - аларны data-toggleатрибутлары буенча сайлау:

$(function () {
  $('[data-toggle="tooltip"]').tooltip()
})

Мисаллар

Корал киңәшләрен карау өчен түбәндәге сылтамалар өстендә йөрегез:

Киләсе дәрәҗәдәге каты чалбар , сез алар турында ишетмәгәнсездер. Фотогалерея сакал чимал деним хәрефләре вегетариан хәбәрче сумкасы. Ферма-өстәл сейитаны, mcsweeney's fixie тотрыклы квиноа 8 битлы америка киемендә терри ричардсон винил чембрей бар . Сакал боткасы, кардиганнар банх ми ломо күк күкрәү. Тофу биодизель вильямсбург марфа, дүрт локо мксвейни вегетариан камерасын чистарту. Чыннан да, ирония остасы нинди генә ачкыч, сәхнә фермасы-өстәл банкы Остин твиттеры фриган кредит чималы деним бер чыганак кофе вируслы.

Дүрт коралның юнәлешен карау өчен астагы төймәләр өстенә басыгыз: өске, уң, аскы һәм сул.

<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="top" title="Tooltip on top">
  Tooltip on top
</button>
<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="right" title="Tooltip on right">
  Tooltip on right
</button>
<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="bottom" title="Tooltip on bottom">
  Tooltip on bottom
</button>
<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="left" title="Tooltip on left">
  Tooltip on left
</button>

Customәм махсус HTML өстәлде:

<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-html="true" title="<em>Tooltip</em> <u>with</u> <b>HTML</b>">
  Tooltip with HTML
</button>

Куллану

Кораллар плагины таләп буенча эчтәлек һәм билгеләр чыгара, һәм триггер элементыннан соң корал күрсәтмәләрен урнаштыра.

JavaScript аша корал киңәшен эшләгез:

$('#example').tooltip(options)
Ташу autoһәмscroll

Tooltip позициясе ата-аналар контейнеры бездә булганда overflow: autoяки overflow: scrollбездә булганда автоматик рәвештә үзгәрергә .table-responsiveтырыша, ләкин һаман да оригиналь урнаштыру урынын саклый. Чишү өчен, boundaryвариантны килешү кыйммәтеннән башка берәр нәрсәгә куегыз 'scrollParent', мәсәлән 'window':

$('#example').tooltip({ boundary: 'window' })

Билгеләү

Корал киңәше өчен кирәкле билгеләр - бары тик dataатрибут һәм titleHTML элементында сез кораллар булырга телисез. Корал киңәшенең ясалган билгесе бик гади, ләкин ул позиция таләп итә (килешү буенча, topплагин белән куелган).

Клавиатура һәм ярдәмче технология кулланучылар өчен инструментлар ясау

Сез традицион клавиатурага игътибарлы һәм интерактив булган HTML элементларына корал киңәшләрен өстәргә тиеш (сылтамалар яки форма белән идарә итү кебек). Характерлы HTML элементлары (мәсәлән <span>) tabindex="0"атрибутны өстәп игътибарны тупларга мөмкин булса да, бу клавиатура кулланучылары өчен интерактив булмаган элементларга потенциаль рәнҗетүче һәм буталчык өстәмә тукталышлар өстәячәк, һәм күпчелек ярдәмче технологияләр хәзерге вакытта бу очракта кораллар турында игълан итмиләр. Өстәвенә, hoverкораллар өчен триггер буларак кына ышанмагыз, чөнки бу сезнең корал киңәшләрен клавиатура кулланучылары өчен эшләтеп җибәрә алмас.

<!-- HTML to write -->
<a href="#" data-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="arrow"></div>
  <div class="tooltip-inner">
    Some tooltip text!
  </div>
</div>

Инвалид элементлар

Атрибутлы элементлар disabledинтерактив түгел, димәк, кулланучылар кораллар (яки поповер) җибәрү өчен аларны туплый алмыйлар, күтәрә алмыйлар. Эш урыны буларак, сез кораллар коралын төргәктән <div>яисә <span>идеаль рәвештә клавиатура фокуслы итеп ясарга һәм инвалид элементны tabindex="0"юкка чыгарырга теләрсез.pointer-events

<span class="d-inline-block" tabindex="0" data-toggle="tooltip" title="Disabled tooltip">
  <button class="btn btn-primary" style="pointer-events: none;" type="button" disabled>Disabled button</button>
</span>

Вариантлар

Вариантларны мәгълүмат атрибутлары яки JavaScript аша бирергә мөмкин. Мәгълүмат атрибутлары өчен вариант исемен data-өстәгез data-animation="".

Игътибар итегез, куркынычсызлык сәбәпләре аркасында sanitize, sanitizeFnһәм whiteListвариантлар мәгълүмат атрибутлары ярдәмендә бирелә алмый.

Исем Тип Килешү Тасвирлау
анимация буле дөрес Кораллар киңәшенә CSS сүнгән күчүне кулланыгыз
контейнер кыл | элемент | ялган ялган

Корал киңәшен билгеле бер элементка өсти. Мисал : container: 'body'. Бу вариант аеруча файдалы, чөнки ул инструментыгызны документ агымына триггер элементы янында урнаштырырга мөмкинлек бирә - бу тәрәзә размеры вакытында инструментның триггер элементыннан ераклашуына комачаулый.

тоткарлау саны | объект 0

Корал күрсәтмәсен (мс) күрсәтү һәм яшерү - кул белән эшләнгән триггер төренә кагылмый

Әгәр сан бирелсә, яшерү / күрсәтү өчен тоткарлык кулланыла

Объект структурасы:delay: { "show": 500, "hide": 100 }

html буле ялган

HTML коралында рөхсәт итегез.

Дөрес булса, кораллардагы HTML тэглары кораллар күрсәтмәсендә titleкүрсәтеләчәк. Ялган булса, jQuery textысулы DOMга эчтәлек кертү өчен кулланылачак.

XSS һөҗүмнәре турында борчылсагыз, текст кулланыгыз.

урнаштыру кыл | функциясе 'top'

Корал киңәшен ничек урнаштырырга - авто | өстә | аста | сул | уң.
Күрсәтелгәндә auto, ул кораллар динамикасын үзгәртәчәк.

Урнаштыруны билгеләү өчен функция кулланылганда, ул беренче аргумент буларак DOM төен кораллары, икенчесе буларак DOM төенен җибәрү элементы дип атала. thisКонтекст кораллар инстанциясенә куелган .

селектор кыл | ялган ялган Әгәр дә селектор тәкъдим ителсә, кораллы объектлар күрсәтелгән максатларга биреләчәк. Гамәлдә, бу шулай ук ​​динамик кушылган DOM элементларына ( jQuery.onярдәм) корал киңәшләрен куллану өчен кулланыла. Моны һәм информацион мисалны карагыз .
шаблон кыл '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>'

Кораллар ясаганда куллану өчен HTML нигезе.

Кораллар titleинъекциясе .tooltip-inner.

.arrowкоралның укына әйләнәчәк.

Тышкы төрү элементы .tooltipкласс булырга тиеш role="tooltip".

исем кыл | элемент | функциясе ''

titleӘгәр дә атрибут булмаса , килешү исеме .

Әгәр дә функция бирелсә, ул thisинструменты белән бәйләнгән элементка сылтама белән чакырылачак.

триггер кыл 'фокусны әйләндерү'

Кораллар ничек эшләнә - басыгыз | | фокус | кулланма. Сез берничә триггер узарга мөмкин; аларны бушлык белән аерыгыз.

'manual'.tooltip('show')инструментлар программасының , методлар .tooltip('hide')аша башланачагын күрсәтә ; .tooltip('toggle')бу кыйммәтне башка триггер белән берләштереп булмый.

'hover'үзеннән-үзе клавиатура аша эшләтеп булмый торган корал киңәшләренә китерәчәк, һәм клавиатура кулланучылары өчен бер үк мәгълүматны җиткерүнең альтернатив ысуллары булганда гына кулланырга кирәк.

офсет саны | кыл | функциясе 0

Максатына караганда кораллар оффеты.

Офсетны билгеләү өчен функция кулланылганда, аның беренче аргументы буларак офсет мәгълүматлары булган объект белән атала. Функция бер үк структуралы объектны кайтарырга тиеш. Икенче аргумент буларак DOM төененең этәргеч элементы уза.

Күбрәк мәгълүмат өчен Popper.js офсет документларына мөрәҗәгать итегез .

.әр сүзнең кыл | массив 'флип' Попперның кире кайту вакытында нинди позицияне кулланачагын күрсәтергә рөхсәт итегез. Күбрәк мәгълүмат өчен Popper.js тәртибе документларына мөрәҗәгать итегез
чик кыл | элемент 'scrollParent' Коралның чик чикләре. 'viewport',, Һәм HTMLElement сылтамасының кыйммәтләрен кабул итә 'window'( JavaScript кына). 'scrollParent'Күбрәк мәгълүмат өчен Popper.js'ның профилактика Оверфлоу документларына мөрәҗәгать итегез .
санитарлаштыру буле дөрес Санитизацияне эшләтеп җибәрү. Активлаштырылса 'template'һәм 'title'вариантлар санитарлаштырылачак.
ак исемлек объект Килешенгән кыйммәт Рөхсәт ителгән атрибутлар һәм тэглар булган объект
sanitizeFn null | функциясе нуль Монда сез үзегезнең санитария функциясен тәкъдим итә аласыз. Санитизация ясау өчен махсус китапханә кулланырга теләсәгез, бу файдалы булырга мөмкин.
popperConfig null | объект нуль Bootstrap'ның default Popper.js конфигурациясен үзгәртү өчен, Popper.js конфигурациясен карагыз

Индивидуаль кораллар өчен мәгълүмат атрибутлары

Индивидуаль кораллар өчен вариантлар, югарыда аңлатылганча, мәгълүмат атрибутлары ярдәмендә альтернатив рәвештә күрсәтелергә мөмкин.

Методлар

Асинхрон ысуллар һәм күчү

Барлык API ысуллары да асинхрон һәм күчү башлый . Күчерелеш башлангач, ләкин ул беткәнче алар шалтыратучыга кире кайталар . Моннан тыш, күчү компонентына методик чакыру игътибарсыз калачак .

Күбрәк мәгълүмат алу өчен безнең JavaScript документларын карагыз .

$().tooltip(options)

Элемент коллекциясенә инструменты эшкәртүчене бәйли.

.tooltip('show')

Элемент коралын күрсәтә. Корал киңәше күрсәтелгәнче (ягъни shown.bs.tooltipвакыйга булганчы) шалтыратучыга кире кайта. Бу корал күрсәтмәсенең “кулланма” тригигациясе булып санала. Нуль озынлыгы булган кораллар беркайчан да күрсәтелми.

$('#element').tooltip('show')

.tooltip('hide')

Элемент коралын яшерә. Корал киңәше яшерелгәнче (ягъни hidden.bs.tooltipвакыйга булганчы) шалтыратучыга кире кайта. Бу корал күрсәтмәсенең “кулланма” тригигациясе булып санала.

$('#element').tooltip('hide')

.tooltip('toggle')

Элементның инструменты. Корал киңәше күрсәтелгән яки яшерелгәнче (ягъни вакыйга булганчы) шалтыратучыга кире кайта. Бу корал күрсәтмәсенең “кулланма” тригигациясе булып санала.shown.bs.tooltiphidden.bs.tooltip

$('#element').tooltip('toggle')

.tooltip('dispose')

Элемент коралын яшерә һәм юк итә. Делегацияне кулланган кораллар ( вариант ярдәмендә ясалганselector ) нәсел триггер элементларында аерым юк ителми.

$('#element').tooltip('dispose')

.tooltip('enable')

Элементның кораллар күрсәтү сәләтен күрсәтә. Кораллар килешү буенча кушылган.

$('#element').tooltip('enable')

.tooltip('disable')

Элементның корал күрсәтмәсен күрсәтү мөмкинлеген бетерә. Корал киңәше яңадан кушылган очракта гына күрсәтеләчәк.

$('#element').tooltip('disable')

.tooltip('toggleEnabled')

Элементның корал күрсәтмәсен күрсәтү яки яшерү мөмкинлеген алыштыра.

$('#element').tooltip('toggleEnabled')

.tooltip('update')

Элемент коралының позициясен яңарта.

$('#element').tooltip('update')

Вакыйгалар

Вакыйга төре Тасвирлау
show.bs.tooltip showБу вакыйга инстанция ысулы чакырылганда шунда ук янып тора .
күрсәтелгән.bs.tooltip Бу вакыйга инструмент киңәше кулланучыга күренгәндә эшләнә (CSS күчү тәмамлануын көтә).
hide.bs.tooltip Бу вакыйга hideинстанция ысулы чакырылганнан соң җибәрелә.
hidden.bs.tooltip Бу вакыйга корал инструменты кулланучыдан яшерелгәннән соң (CSS күчү тәмамлануын көтеп торачак).
insert.bs.tooltip Бу вакыйга show.bs.tooltipDOMга кораллар шаблоны өстәлгәннән соң җибәрелә.
$('#myTooltip').on('hidden.bs.tooltip', function () {
  // do something...
})