in English

Нурах

Цөөн хэдэн анги болон манай JavaScript залгаасуудын тусламжтайгаар төслийнхөө контентын харагдах байдлыг асаана уу.

Хэрхэн ажилладаг

Буулгах JavaScript залгаасыг контентыг харуулах, нуухад ашигладаг. Товчлуур эсвэл зангуу нь таны сэлгэх тодорхой элементүүдтэй зурагдсан гох болгон ашигладаг. Элементийг хумивал тухайн элементийг heightодоогийн утгаас нь анивчуулна 0. CSS нь хөдөлгөөнт дүрсийг хэрхэн зохицуулдгийг харгалзан элемент paddingдээр ашиглах боломжгүй. .collapseХарин оронд нь ангиудыг бие даасан боодлын элемент болгон ашигла.

Энэ бүрэлдэхүүн хэсгийн хөдөлгөөнт эффект нь prefers-reduced-motionмедиа асуулгаас хамаарна. Манай хүртээмжтэй байдлын баримт бичгийн хөдөлгөөнийг багасгасан хэсгийг үзнэ үү .

Жишээ

Ангийн өөрчлөлтөөр өөр элементийг харуулах, нуухын тулд доорх товчлууруудыг дарна уу:

  • .collapseагуулгыг нуудаг
  • .collapsingшилжилтийн үед хэрэглэнэ
  • .collapse.showагуулгыг харуулдаг

Ерөнхийдөө бид data-targetшинж чанар бүхий товчлуурыг ашиглахыг зөвлөж байна. Хэдийгээр семантик талаас нь авч үзэхийг зөвлөдөггүй ч гэсэн hrefатрибуттай (болон a role="button") холбоосыг ашиглаж болно. Аль ч тохиолдолд data-toggle="collapse"шаардлагатай.

Some placeholder content for the collapse component. This panel is hidden by default but revealed when the user activates the relevant trigger.
<p>
  <a class="btn btn-primary" data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
    Link with href
  </a>
  <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
    Button with data-target
  </button>
</p>
<div class="collapse" id="collapseExample">
  <div class="card card-body">
    Some placeholder content for the collapse component. This panel is hidden by default but revealed when the user activates the relevant trigger.
  </div>
</div>

Хэвтээ

Нурах залгаас нь хэвтээ уналтыг мөн дэмждэг. Оронд нь .widthшилжихийн тулд өөрчлөгч ангийг нэмээд шууд хүүхэд элемент дээр a тохируулна уу . Өөрийнхөө захиалгат Sass бичих, шугамын хэв маягийг ашиглах, эсвэл өргөн хэрэглээний хэрэгслийг ашиглах боломжтой .widthheightwidth

Доорх жишээнд min-heightманай баримт бичигт хэт их дахин будахаас сэргийлэх багц байгаа хэдий ч энэ нь тодорхой шаардлагагүй гэдгийг анхаарна уу. Зөвхөн widthхүүхэд дээрх элемент шаардлагатай.

This is some placeholder content for a horizontal collapse. It's hidden by default and shown when triggered.
<p>
  <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseWidthExample" aria-expanded="false" aria-controls="collapseWidthExample">
    Toggle width collapse
  </button>
</p>
<div style="min-height: 120px;">
  <div class="collapse width" id="collapseWidthExample">
    <div class="card card-body" style="width: 320px;">
      This is some placeholder content for a horizontal collapse. It's hidden by default and shown when triggered.
    </div>
  </div>
</div>

Олон зорилт

A <button>эсвэл <a>олон элементийг JQuery сонгогчоор hrefэсвэл data-targetатрибутаар нь эш татсанаар харуулж, нууж болно. Элемент тус бүр өөрийн эсвэл атрибутаар нь иш татсан тохиолдолд олон <button>буюу <a>харуулах, нуух боломжтойhrefdata-target

Some placeholder content for the first collapse component of this multi-collapse example. This panel is hidden by default but revealed when the user activates the relevant trigger.
Some placeholder content for the second collapse component of this multi-collapse example. This panel is hidden by default but revealed when the user activates the relevant trigger.
<p>
  <a class="btn btn-primary" data-toggle="collapse" href="#multiCollapseExample1" role="button" aria-expanded="false" aria-controls="multiCollapseExample1">Toggle first element</a>
  <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#multiCollapseExample2" aria-expanded="false" aria-controls="multiCollapseExample2">Toggle second element</button>
  <button class="btn btn-primary" type="button" data-toggle="collapse" data-target=".multi-collapse" aria-expanded="false" aria-controls="multiCollapseExample1 multiCollapseExample2">Toggle both elements</button>
</p>
<div class="row">
  <div class="col">
    <div class="collapse multi-collapse" id="multiCollapseExample1">
      <div class="card card-body">
        Some placeholder content for the first collapse component of this multi-collapse example. This panel is hidden by default but revealed when the user activates the relevant trigger.
      </div>
    </div>
  </div>
  <div class="col">
    <div class="collapse multi-collapse" id="multiCollapseExample2">
      <div class="card card-body">
        Some placeholder content for the second collapse component of this multi-collapse example. This panel is hidden by default but revealed when the user activates the relevant trigger.
      </div>
    </div>
  </div>
</div>

Баян хуурын жишээ

Картын бүрэлдэхүүн хэсгийг ашигласнаар та баян хуур үүсгэхийн тулд өгөгдмөл уналтын горимыг сунгаж болно. .accordionБаян хуурын хэв маягийг зөв зохистой болгохын тулд боодол болгон ашиглахаа мартуузай .

Эхний баян хуурын самбарт зориулсан зарим орлуулагчийн агуулга. .showАнгийн ачаар энэ самбарыг анхдагчаар харуулав .

Some placeholder content for the second accordion panel. This panel is hidden by default.

And lastly, the placeholder content for the third and final accordion panel. This panel is hidden by default.
<div class="accordion" id="accordionExample">
  <div class="card">
    <div class="card-header" id="headingOne">
      <h2 class="mb-0">
        <button class="btn btn-link btn-block text-left" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
          Collapsible Group Item #1
        </button>
      </h2>
    </div>

    <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample">
      <div class="card-body">
        Some placeholder content for the first accordion panel. This panel is shown by default, thanks to the <code>.show</code> class.
      </div>
    </div>
  </div>
  <div class="card">
    <div class="card-header" id="headingTwo">
      <h2 class="mb-0">
        <button class="btn btn-link btn-block text-left collapsed" type="button" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
          Collapsible Group Item #2
        </button>
      </h2>
    </div>
    <div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionExample">
      <div class="card-body">
        Some placeholder content for the second accordion panel. This panel is hidden by default.
      </div>
    </div>
  </div>
  <div class="card">
    <div class="card-header" id="headingThree">
      <h2 class="mb-0">
        <button class="btn btn-link btn-block text-left collapsed" type="button" data-toggle="collapse" data-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
          Collapsible Group Item #3
        </button>
      </h2>
    </div>
    <div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-parent="#accordionExample">
      <div class="card-body">
        And lastly, the placeholder content for the third and final accordion panel. This panel is hidden by default.
      </div>
    </div>
  </div>
</div>

Хүртээмжтэй байдал

aria-expandedХяналтын элемент дээр нэмэхээ мартуузай . Энэ шинж чанар нь удирдлагатай холбогдсон эвхэгддэг элементийн одоогийн төлөвийг дэлгэц уншигчид болон ижил төстэй туслах технологид шууд дамжуулдаг. Хэрэв эвхэгддэг элемент нь анхдагчаар хаагдсан бол хяналтын элемент дээрх атрибут нь -ийн утгатай байх ёстой aria-expanded="false". Хэрэв та эвхэгддэг элементийг showанги ашиглан анхдагчаар нээлттэй байхаар тохируулсан aria-expanded="true"бол оронд нь удирдлага дээр тохируулна уу. Уг залгаас нь эвхэгддэг элемент нээгдсэн эсвэл хаагдсан эсэхээс (JavaScript-ээр дамжуулан, эсвэл хэрэглэгч ижил эвхэгддэг элементтэй холбогдсон өөр хяналтын элементийг идэвхжүүлсэн) үндэслэн удирдлага дээрх энэ атрибутыг автоматаар сэлгэх болно. Хэрэв хяналтын элементийн HTML элемент нь товчлуур биш бол (жишээ нь, <a>эсвэл <div>), атрибутrole="button"элементэд нэмэх ёстой.

Хэрэв таны удирдлагын элемент нэг эвхэгддэг элементийг data-targetчиглүүлж байгаа бол, өөрөөр хэлбэл атрибут нь idсонгогч руу чиглэж байгаа бол та эвхэгддэг элементийг aria-controlsагуулсан атрибутыг хяналтын элементэд нэмэх хэрэгтэй id. Орчин үеийн дэлгэц уншигчид болон үүнтэй төстэй туслах технологиуд нь хэрэглэгчдэд эвхэгддэг элемент рүү шууд шилжих нэмэлт товчлолоор хангахын тулд энэ шинж чанарыг ашигладаг.

Bootstrap-ийн одоогийн хэрэгжилт нь ARIA Authoring Practices Guide баян хуурын загварт тодорхойлсон янз бүрийн гарны харилцан үйлчлэлийг хамрахгүй гэдгийг анхаарна уу - та эдгээрийг өөртөө тохируулсан JavaScript-д оруулах хэрэгтэй болно.

Хэрэглээ

Нурах залгаас нь хүнд ачааг даах хэд хэдэн ангиллыг ашигладаг:

  • .collapseагуулгыг нуудаг
  • .collapse.showагуулгыг харуулж байна
  • .collapsingШилжилт эхлэхэд нэмэгдэж, дуусах үед хасагдана

Эдгээр ангиудыг эндээс олж болно _transitions.scss.

Өгөгдлийн шинж чанаруудаар дамжуулан

Нэг буюу хэд хэдэн эвхэгддэг элементийн хяналтыг автоматаар хуваарилахын тулд элементэд " data-toggle="collapse"a" -г нэмэхэд л хангалттай . data-targetУг data-targetатрибут нь задлах үйлдэл хийх CSS сонгогчийг хүлээн зөвшөөрдөг. collapseЭвхэгддэг элементэд ангийг нэмэхээ мартуузай . Хэрэв та үүнийг анхдагчаар нээхийг хүсвэл нэмэлт анги нэмнэ үү show.

Эвхэгддэг хэсэгт баян хуур шиг бүлгийн удирдлагыг нэмэхийн тулд дата атрибутыг нэмнэ үү data-parent="#selector". Үүнийг хэрхэн ажиллаж байгааг харахын тулд демо-г үзнэ үү.

JavaScript-ээр дамжуулан

Гараар идэвхжүүлэх:

$('.collapse').collapse()

Сонголтууд

Сонголтуудыг өгөгдлийн шинж чанарууд эсвэл JavaScript-ээр дамжуулж болно. Өгөгдлийн шинж чанаруудын хувьд сонголтын нэрийг -д data-хавсаргана data-parent="".

Нэр Төрөл Өгөгдмөл Тодорхойлолт
эцэг эх сонгогч | jQuery объект | DOM элемент худлаа Хэрэв эцэг эх өгөгдсөн бол энэ эвхэгддэг зүйлийг харуулах үед заасан эцэг эхийн доорх бүх эвхэгддэг элементүүд хаагдах болно. (уламжлалт баян хуурын зан үйлтэй төстэй - энэ нь cardангиас хамаарна). Энэ шинж чанарыг зорилтот эвхэгддэг талбарт тохируулах ёстой.
солих логик үнэн Дуудлага хийх үед эвхэгддэг элементийг асаана

Арга зүй

Асинхрон аргууд ба шилжилтүүд

Бүх API аргууд асинхрон бөгөөд шилжилтийг эхлүүлнэ . Шилжилт эхэлмэгц дуусаагүй байхад тэд залгагч руу буцаж ирдэг . Нэмж хэлэхэд, шилжилтийн бүрэлдэхүүн хэсэг дэх аргын дуудлагыг үл тоомсорлох болно.

Дэлгэрэнгүй мэдээллийг манай JavaScript баримтаас үзнэ үү .

.collapse(options)

Таны агуулгыг эвхэгддэг элемент болгон идэвхжүүлнэ. Нэмэлт сонголтуудыг хүлээн зөвшөөрдөг object.

$('#myCollapsible').collapse({
  toggle: false
})

.collapse('toggle')

Эвхэгддэг элементийг харуулах эсвэл нуух горимд шилжүүлнэ. Эвхэгддэг элементийг харуулах эсвэл нуухаас өмнө (өөрөөр хэлбэл shown.bs.collapseэсвэл hidden.bs.collapseүйл явдал болохоос өмнө) дуудагч руу буцна.

.collapse('show')

Эвхэгддэг элементийг харуулж байна. Эвхэгддэг элементийг бодитоор харуулахаас өмнө (өөрөөр хэлбэл shown.bs.collapseүйл явдал болохоос өмнө) дуудагч руу буцна.

.collapse('hide')

Эвхэгддэг элементийг нууна. Эвхэгддэг элементийг нуухаас өмнө (өөрөөр хэлбэл hidden.bs.collapseүйл явдал болохоос өмнө) дуудагч руу буцна.

.collapse('dispose')

Элементийн уналтыг устгадаг.

Үйл явдал

Bootstrap-ийн уналтын анги нь уналтын функцэд холбогдох хэд хэдэн үйл явдлыг илрүүлдэг.

Үйл явдлын төрөл Тодорхойлолт
харуулах.bs. нурах showИнстанцийн аргыг дуудах үед энэ үйл явдал шууд идэвхждэг .
харуулсан.bs.нууралт Уналтын элементийг хэрэглэгчдэд харагдуулах үед энэ үйл явдал идэвхждэг (CSS шилжилтийг дуусгахыг хүлээх болно).
нуух.б. нурах hideАрга дуудагдсан үед энэ үйл явдал шууд идэвхждэг .
нуугдмал.б.нууралт Уналтын элементийг хэрэглэгчээс нуусан үед энэ үйл явдал идэвхждэг (CSS шилжилтийг дуусгахыг хүлээх болно).
$('#myCollapsible').on('hidden.bs.collapse', function () {
  // do something...
})