SourceУнтраах цэсүүд
Bootstrap унадаг залгаасыг ашиглан холбоосын жагсаалт болон бусад зүйлийг харуулах контекст давхаргыг сэлгэх.
Тойм
Унтраах цэсүүд нь сэлгэх боломжтой, холбоосын жагсаалт болон бусад зүйлсийг харуулах контекст давхаргууд юм. Тэдгээрийг оруулсан Bootstrap унадаг JavaScript залгаастай интерактив болгосон. Тэдгээрийг зөөвөрлөх замаар биш харин товших замаар сэлгэх боломжтой; Энэ бол санаатай дизайны шийдвэр юм.
Унтраах файлуудыг гуравдагч талын Popper.js номын сан дээр бүтээдэг бөгөөд энэ нь динамик байрлал тогтоох болон харагдах хэсгийг илрүүлэх боломжийг олгодог. Bootstrap-ийн JavaScript-н өмнө popper.min.js оруулах эсвэл Popper.js-г агуулсан bootstrap.bundle.min.js
/ ашиглахаа мартуузай. bootstrap.bundle.js
Popper.js нь динамик байрлал тогтоох шаардлагагүй тул унадаг цэсийг navbar дээр байрлуулахад ашигладаггүй.
Хэрэв та манай JavaScript-г эх сурвалжаас бүтээж байгаа бол энэ ньutil.js
.
Хүртээмжтэй байдал
WAI ARIA стандарт нь бодит виджетийг role="menu"
тодорхойлдог боловч энэ нь үйлдэл эсвэл функцийг идэвхжүүлдэг програмтай төстэй цэсүүдэд зориулагдсан юм. ARIA цэс нь зөвхөн цэсийн зүйл, шалгах хайрцагны цэсийн зүйл, радио товчлуурын цэсийн зүйл, радио товчлуурын бүлгүүд болон дэд цэсүүдийг агуулж болно.
Нөгөө талаас Bootstrap-ийн уналт нь ерөнхий байхаар бүтээгдсэн бөгөөд янз бүрийн нөхцөл байдал, тэмдэглэгээний бүтцэд хэрэглэгдэх боломжтой. Жишээлбэл, хайлтын талбар эсвэл нэвтрэх маягт гэх мэт нэмэлт оролт, маягтын удирдлагыг агуулсан унадаг цэсүүдийг үүсгэх боломжтой. Ийм учраас Bootstrap нь жинхэнэ ARIA цэсэнд шаардлагатай шинж чанаруудын аль нэгийг нь хүлээхгүй ( role
мөн автоматаар нэмдэггүй). Зохиогчид эдгээр илүү тодорхой шинж чанаруудыг өөрсдөө оруулах ёстой.aria-
.dropdown-item
Гэсэн хэдий ч Bootstrap нь курсорын товчлууруудыг ашиглан бие даасан элементүүдээр шилжих, цэсийг товчлуураар хаах зэрэг гарны цэсийн ихэнх стандарт харилцан үйлчлэлд суурилуулсан дэмжлэгийг нэмдэг ESC.
Жишээ
Унждаг цонхны унтраалга (таны товчлуур эсвэл холбоос) болон унадаг цэсийг дотор нь .dropdown
, эсвэл зарладаг өөр элементийг боож өгнө үү position: relative;
. Таны боломжит хэрэгцээнд илүү нийцүүлэхийн тулд унадаг цэсийг <a>
эсвэл элементүүдээс өдөөж болно .<button>
Аливаа .btn
синглыг зарим тэмдэглэгээний өөрчлөлтөөр унждаг унтраалга болгон хувиргаж болно. <button>
Та тэдгээрийг аль ч элементтэй хэрхэн ажиллуулахыг эндээс үзнэ үү :
Мөн <a>
элементүүдтэй:
Хамгийн сайн тал нь та үүнийг дурын товчлуурын хувилбараар хийж болно.
Үүний нэгэн адил, нэг товчлуурын унждаг цэстэй бараг ижил тэмдэглэгээтэй, гэхдээ .dropdown-toggle-split
унждаг каретны эргэн тойронд тохирох зайг нэмж, хуваах товчлууруудыг үүсгээрэй.
Бид энэ нэмэлт ангиллыг padding
каретны хоёр талын хэвтээ хэсгийг 25%-иар багасгаж, margin-left
ердийн товчлуурын уналтанд нэмсэн хэсгийг арилгахад ашигладаг. Эдгээр нэмэлт өөрчлөлтүүд нь хуваах товчлуурын голд байрлах тэмдэглэгээг байлгаж, үндсэн товчлуурын хажууд илүү тохирох хэмжээтэй цохих хэсгийг бий болгоно.
Хэмжээ тогтоох
Товчлуурын уналт нь үндсэн болон хуваах унадаг товчлуур зэрэг бүх хэмжээтэй товчлууруудтай ажилладаг.
Чиглэл
Унтраах
Үндсэн элемент дээр нэмэх замаар элементүүдийн дээрх унждаг цэсийг өдөөх .dropup
.
Дусал
Үндсэн элемент дээр нэмэх замаар элементүүдийн баруун талд байрлах унждаг цэсийг .dropright
идэвхжүүлнэ үү.
Зүүн талд
Үндсэн элемент дээр нэмэх замаар элементүүдийн зүүн талд байрлах унждаг цэсийг .dropleft
идэвхжүүлнэ үү.
Түүхэн унадаг цэсийн агуулга нь холбоос байх ёстой байсан ч v4-д тийм биш болсон. Одоо та зүгээр л s <button>
-ийн оронд унадаг цэсэнд элементүүдийг ашиглаж болно .<a>
Та мөн интерактив бус унждаг зүйлсийг ашиглан үүсгэж болно .dropdown-item-text
. Захиалгат CSS эсвэл текст хэрэглүүрүүдийг ашиглан цаашид загварчлах боломжтой.
Идэвхтэй
.active
Унтраах жагсаалтад байгаа зүйлсийг идэвхтэй болгож хэв маягт нэмнэ үү .
Идэвхгүй
.disabled
Унтраах жагсаалтад байгаа зүйлсэд нэмээд тэдгээрийг идэвхгүй болгож хэвлэ .
Өгөгдмөл байдлаар, унждаг цэс нь эцэг эхийнхээ дээд ба зүүн талд автоматаар 100% байрладаг. Унждаг .dropdown-menu-right
цэсийг .dropdown-menu
баруун тийш зэрэгцүүлэх.
Анхаараарай! Унтраах цэсүүд нь Popper.js-ийн ачаар байрладаг (тэдгээр нь навигацийн самбарт агуулагдахаас бусад тохиолдолд).
Хариуцлагатай тохируулга
data-display="static"
Хэрэв та responsive alignment ашиглахыг хүсвэл атрибут нэмж динамик байршлыг идэвхгүй болгож , хариу үйлдэл үзүүлэх хувилбаруудыг ашиглана уу.
Унждаг цэсийг өгөгдсөн таслах цэг эсвэл түүнээс дээш хэмжээтэй баруун тийш зэрэгцүүлэхийн тулд нэмнэ үү .dropdown-menu{-sm|-md|-lg|-xl}-right
.
Зүүн унадаг цэсийг өгөгдсөн таслах цэг эсвэл түүнээс дээш хэмжээтэй зэрэгцүүлэхийн тулд болон нэмнэ .dropdown-menu-right
үү .dropdown-menu{-sm|-md|-lg|-xl}-left
.
data-display="static"
Navbar-д Popper.js-г ашигладаггүй тул та navbars-ийн унадаг товчлууруудад атрибут нэмэх шаардлагагүйг анхаарна уу .
Дурын унждаг цэсэнд үйлдлүүдийн хэсгийг шошголохын тулд толгой хэсгийг нэмнэ үү.
Хуваагчид
Холбогдох цэсний бүлгүүдийг хуваагчаар тусгаарла.
Текст
Чөлөөт хэлбэрийн дурын бичвэрийг бичвэр бүхий унадаг цэсэнд байрлуулж, зай завсарлах хэрэгслийг ашиглана уу . Цэсийн өргөнийг хязгаарлахын тулд танд нэмэлт хэмжээсийн загвар хэрэгтэй болно гэдгийг анхаарна уу.
Унждаг цэсэнд маягт байрлуулж эсвэл доош унадаг цэс болгож, шаардлагатай сөрөг зайг өгөхийн тулд маржин эсвэл дүүргэх хэрэгслийг ашиглана уу.
Унтраах сонголтууд
Унждаг жагсаалтын байршлыг өөрчлөхийн тулд data-offset
эсвэл ашиглана уу.data-reference
Хэрэглээ
.show
Өгөгдлийн шинж чанарууд эсвэл JavaScript-ээр дамжуулан унадаг залгаас нь эх жагсаалтын зүйл дээрх ангийг сэлгэх замаар далд агуулгыг (унадаг цэс) сэлгэдэг . Атрибут data-toggle="dropdown"
нь програмын түвшинд унждаг цэсийг хаахад тулгуурладаг тул үүнийг үргэлж ашиглах нь зүйтэй.
Мэдрэгчтэй төхөөрөмжүүд дээр унадаг цэсийг нээх нь элементийн шууд хүүхдүүд рүү хоосон ( $.noop
) зохицуулагчийг нэмнэ. Энэхүү муухай хакерт нь iOS-ийн арга хэмжээний төлөөлөгчдийн доторх хачирхалтай байдлыг арилгахад зайлшгүй шаардлагатай бөгөөд энэ нь унадаг цэснээс гадна хаана ч товших нь унадаг цэсийг хаадаг кодыг өдөөхөөс сэргийлнэ. Унтраах цонхыг хаасны дараа эдгээр нэмэлт хоосон зохицуулагчийг устгана.mouseover
<body>
mouseover
Өгөгдлийн шинж чанаруудаар дамжуулан
data-toggle="dropdown"
Унждаг цэсийг сэлгэхийн тулд холбоос эсвэл товчлуур дээр нэмнэ үү .
JavaScript-ээр дамжуулан
JavaScript-ээр унадаг цэс рүү залгана уу:
data-toggle="dropdown"
шаардлагатай хэвээр байна
Та JavaScript-ээр унадаг цэс рүү залгах эсвэл оронд нь data-api ашиглах эсэхээс үл хамааран унадаг цэсний data-toggle="dropdown"
гох элемент дээр байнга байх шаардлагатай.
Сонголтууд
Сонголтуудыг өгөгдлийн шинж чанарууд эсвэл JavaScript-ээр дамжуулж болно. Өгөгдлийн шинж чанаруудын хувьд сонголтын нэрийг -д data-
хавсаргана data-offset=""
.
Нэр |
Төрөл |
Өгөгдмөл |
Тодорхойлолт |
офсет |
тоо | мөр | функц |
0 |
Зорилтоттой харьцуулахад унждаг цэсийн офсет. Функцийг офсетийг тодорхойлоход ашиглах үед түүнийг анхны аргумент болгон офсет өгөгдлийг агуулсан объектоор дууддаг. Функц нь ижил бүтэцтэй объектыг буцаах ёстой. Өдөөгч элементийн DOM зангилааг хоёр дахь аргумент болгон дамжуулна. Дэлгэрэнгүй мэдээллийг Popper.js-ийн офсет баримтаас үзнэ үү . |
эргүүлэх |
логик |
үнэн |
Лавлагаа элемент дээр давхцсан тохиолдолд Dropdown-ыг эргүүлэхийг зөвшөөрнө үү. Дэлгэрэнгүй мэдээллийг Popper.js-ийн flip docs -оос үзнэ үү . |
хил хязгаар |
мөр | элемент |
'scrollParent' |
Унждаг цэсний халих хязгаарлалтын хил хязгаар. 'viewport' , 'window' , 'scrollParent' , эсвэл HTMLElement лавлагааны утгуудыг (зөвхөн JavaScript) хүлээн авна. Дэлгэрэнгүй мэдээллийг Popper.js-ийн preventOverflow баримтаас үзнэ үү . |
лавлагаа |
мөр | элемент |
'унтраах' |
Унждаг цэсний лавлах элемент. 'toggle' , 'parent' , эсвэл HTMLElement лавлагааны утгыг хүлээн авна. Дэлгэрэнгүй мэдээллийг Popper.js-ийн лавлахObject баримтаас үзнэ үү . |
харуулах |
мөр |
"динамик" |
Анхдагч байдлаар бид динамик байрлал тогтооход Popper.js ашигладаг. Үүнийг ашиглан идэвхгүй болгох static . |
popperConfig |
null | обьект |
null |
Bootstrap-ийн өгөгдмөл Popper.js тохиргоог өөрчлөхийн тулд Popper.js-ийн тохиргоог үзнэ үү. |
boundary
-аас өөр ямар ч утгыг тохируулах үед 'scrollParent'
уг загвар position: static
нь .dropdown
саванд хэрэглэгдэхийг анхаарна уу.
Арга зүй
Арга |
Тодорхойлолт |
$().dropdown('toggle') |
Өгөгдсөн навигацийн самбар эсвэл цонхтой навигацийн унждаг цэсийг сэлгэх. |
$().dropdown('show') |
Өгөгдсөн навигацийн цэс эсвэл цонхтой навигацийн унждаг цэсийг харуулна. |
$().dropdown('hide') |
Өгөгдсөн навигацийн цэс эсвэл цонхтой навигацийн унждаг цэсийг нууна. |
$().dropdown('update') |
Элементийн унадаг цэсийн байрлалыг шинэчилнэ. |
$().dropdown('dispose') |
Элементийн унадаг цэсийг устгана. |
Үйл явдал
Унтраах бүх үйл явдлууд нь .dropdown-menu
үндсэн элемент дээр ажилладаг relatedTarget
бөгөөд үнэ цэнэ нь залгах зангуу элемент болох өмчтэй байна. hide.bs.dropdown
болон hidden.bs.dropdown
үйл явдлууд нь товшилтын үйл явдлын үйл явдлын объектыг агуулсан clickEvent
өмчтэй (зөвхөн анхны үйл явдлын төрөл нь ).click
Үйл явдал |
Тодорхойлолт |
show.bs.dropdown |
Show instance аргыг дуудах үед энэ үйл явдал шууд идэвхждэг. |
shown.bs.dropdown |
Унтраах цэсийг хэрэглэгчдэд харагдуулах үед энэ үйл явдал идэвхждэг (CSS шилжилтийг дуусгахыг хүлээх болно). |
hide.bs.dropdown |
Нуух жишээний аргыг дуудсан үед энэ үйл явдал шууд идэвхждэг. |
hidden.bs.dropdown |
Унтраах цэсийг хэрэглэгчээс нууж дуусах үед энэ үйл явдал идэвхждэг (CSS шилжилтийг дуусгахыг хүлээх болно). |