រំលងទៅមាតិកាសំខាន់ រំលងទៅការរុករកឯកសារ
in English

Navs និងផ្ទាំង

ឯកសារ និងឧទាហរណ៍សម្រាប់របៀបប្រើសមាសធាតុរុករកដែលរួមបញ្ចូលរបស់ Bootstrap ។

មូលដ្ឋាន nav

ការរុករកដែលមាននៅក្នុង Bootstrap ចែករំលែកការសម្គាល់ទូទៅ និងរចនាប័ទ្ម ពី .navថ្នាក់មូលដ្ឋាន រហូតដល់ស្ថានភាពសកម្ម និងបិទ។ ប្តូរថ្នាក់កែប្រែដើម្បីប្តូររវាងរចនាប័ទ្មនីមួយៗ។

សមាសធាតុ មូលដ្ឋាន .navត្រូវបានសាងសង់ជាមួយ flexbox និងផ្តល់នូវមូលដ្ឋានគ្រឹះដ៏រឹងមាំសម្រាប់ការសាងសង់សមាសធាតុរុករកគ្រប់ប្រភេទ។ វារួមបញ្ចូលការបដិសេធរចនាប័ទ្មមួយចំនួន (សម្រាប់ធ្វើការជាមួយបញ្ជី) បន្ទះតំណភ្ជាប់មួយចំនួនសម្រាប់តំបន់បុកធំជាងមុន និងរចនាប័ទ្មបិទដំណើរការជាមូលដ្ឋាន។

សមាសភាគ មូលដ្ឋាន .navមិនរួមបញ្ចូល .activeរដ្ឋណាមួយទេ។ ឧទាហរណ៍ខាងក្រោមរួមមានថ្នាក់ ជាចម្បងដើម្បីបង្ហាញថាថ្នាក់ពិសេសនេះមិនបង្កឱ្យមានរចនាប័ទ្មពិសេសណាមួយឡើយ។

ដើម្បីបញ្ជូនស្ថានភាពសកម្មទៅបច្ចេកវិទ្យាជំនួយ សូមប្រើ aria-currentគុណលក្ខណៈ — ដោយប្រើ pageតម្លៃសម្រាប់ទំព័របច្ចុប្បន្ន ឬ trueសម្រាប់ធាតុបច្ចុប្បន្ននៅក្នុងសំណុំមួយ។

<ul class="nav">
  <li class="nav-item">
    <a class="nav-link active" aria-current="page" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

ថ្នាក់ត្រូវបានប្រើប្រាស់ពេញមួយ ដូច្នេះការសម្គាល់របស់អ្នកអាចបត់បែនបាន។ ប្រើ <ul>s ដូចខាងលើ <ol>ប្រសិនបើលំដាប់នៃធាតុរបស់អ្នកមានសារៈសំខាន់ ឬរមៀលរបស់អ្នកជាមួយនឹង <nav>ធាតុមួយ។ ដោយសារតែ .navការប្រើប្រាស់ display: flexតំណភ្ជាប់ nav ដំណើរការដូចគ្នានឹងធាតុ nav ដែរ ប៉ុន្តែគ្មានការសម្គាល់បន្ថែមទេ។

<nav class="nav">
  <a class="nav-link active" aria-current="page" href="#">Active</a>
  <a class="nav-link" href="#">Link</a>
  <a class="nav-link" href="#">Link</a>
  <a class="nav-link disabled">Disabled</a>
</nav>

រចនាប័ទ្មដែលមាន

ផ្លាស់ប្តូររចនាប័ទ្មនៃ .navសមាសភាគជាមួយនឹងឧបករណ៍កែប្រែ និងឧបករណ៍ប្រើប្រាស់។ លាយ និងផ្គូផ្គងតាមតម្រូវការ ឬបង្កើតដោយខ្លួនឯង។

ការតម្រឹមផ្តេក

ផ្លាស់ប្តូរការតម្រឹមផ្តេកនៃ nav របស់អ្នកជាមួយនឹង ឧបករណ៍ប្រើប្រាស់ flexbox ។ តាមលំនាំដើម navs ត្រូវបានតម្រឹមឆ្វេង ប៉ុន្តែអ្នកអាចផ្លាស់ប្តូរពួកវាទៅតម្រឹមកណ្តាល ឬស្តាំបានយ៉ាងងាយស្រួល។

ផ្តោតលើ .justify-content-center

<ul class="nav justify-content-center">
  <li class="nav-item">
    <a class="nav-link active" aria-current="page" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

តម្រឹមស្តាំជាមួយ .justify-content-end

<ul class="nav justify-content-end">
  <li class="nav-item">
    <a class="nav-link active" aria-current="page" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

បញ្ឈរ

ជង់ការរុករករបស់អ្នកដោយផ្លាស់ប្តូរទិសដៅធាតុ flex ជាមួយ .flex-columnឧបករណ៍ប្រើប្រាស់។ ត្រូវ​ការ​ដាក់​វា​នៅ​លើ​ច្រក​មើល​មួយ​ចំនួន ប៉ុន្តែ​មិនមែន​កន្លែង​ផ្សេង​ទេ? ប្រើកំណែឆ្លើយតប (ឧ, .flex-sm-column)។

<ul class="nav flex-column">
  <li class="nav-item">
    <a class="nav-link active" aria-current="page" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

ដូចរាល់ដង ការរុករកបញ្ឈរគឺអាចធ្វើទៅបានដោយគ្មាន <ul>s ផងដែរ។

<nav class="nav flex-column">
  <a class="nav-link active" aria-current="page" href="#">Active</a>
  <a class="nav-link" href="#">Link</a>
  <a class="nav-link" href="#">Link</a>
  <a class="nav-link disabled">Disabled</a>
</nav>

ផ្ទាំង

យក nav មូលដ្ឋានពីខាងលើ ហើយបន្ថែម .nav-tabsថ្នាក់ ដើម្បីបង្កើតចំណុចប្រទាក់ផ្ទាំង។ ប្រើពួកវាដើម្បីបង្កើតតំបន់ដែលអាចមើលបានដោយប្រើ ផ្ទាំងជំនួយ JavaScript របស់យើង ។

<ul class="nav nav-tabs">
  <li class="nav-item">
    <a class="nav-link active" aria-current="page" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

ថ្នាំគ្រាប់

យក HTML ដូចគ្នា ប៉ុន្តែប្រើ .nav-pillsជំនួសវិញ៖

<ul class="nav nav-pills">
  <li class="nav-item">
    <a class="nav-link active" aria-current="page" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

បំពេញ​និង​បង្ហាញ​ពី​ភាពត្រឹមត្រូវ​

បង្ខំ .navមាតិការបស់អ្នកឱ្យពង្រីកទទឹងដែលមានពេញលេញមួយក្នុងចំណោមថ្នាក់កែប្រែពីរ។ ដើម្បីបំពេញទំហំដែលអាចប្រើបានតាមសមាមាត្រជាមួយ .nav-items របស់អ្នក សូមប្រើ .nav-fill. សូមកត់សម្គាល់ថាលំហផ្ដេកទាំងអស់ត្រូវបានកាន់កាប់ ប៉ុន្តែមិនមែនគ្រប់ធាតុ nav ទាំងអស់មានទទឹងដូចគ្នានោះទេ។

<ul class="nav nav-pills nav-fill">
  <li class="nav-item">
    <a class="nav-link active" aria-current="page" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Much longer nav link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

នៅពេលប្រើ <nav>ការរុករកតាមមូលដ្ឋាន អ្នកអាចលុបចេញដោយសុវត្ថិភាព .nav-itemព្រោះ .nav-linkត្រូវការ តែ <a>ធាតុរចនាប័ទ្មប៉ុណ្ណោះ។

<nav class="nav nav-pills nav-fill">
  <a class="nav-link active" aria-current="page" href="#">Active</a>
  <a class="nav-link" href="#">Much longer nav link</a>
  <a class="nav-link" href="#">Link</a>
  <a class="nav-link disabled">Disabled</a>
</nav>

សម្រាប់ធាតុដែលមានទទឹងស្មើគ្នា សូមប្រើ .nav-justified។ ទំហំផ្ដេកទាំងអស់នឹងត្រូវបានកាន់កាប់ដោយតំណ nav ប៉ុន្តែមិនដូច .nav-fillខាងលើទេ ធាតុ nav ទាំងអស់នឹងមានទទឹងដូចគ្នា។

<ul class="nav nav-pills nav-justified">
  <li class="nav-item">
    <a class="nav-link active" aria-current="page" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Much longer nav link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

ស្រដៀងនឹង .nav-fillឧទាហរណ៍ដោយប្រើ <nav>ការរុករក -based ។

<nav class="nav nav-pills nav-justified">
  <a class="nav-link active" aria-current="page" href="#">Active</a>
  <a class="nav-link" href="#">Much longer nav link</a>
  <a class="nav-link" href="#">Link</a>
  <a class="nav-link disabled">Disabled</a>
</nav>

ធ្វើការជាមួយឧបករណ៍ប្រើប្រាស់ flex

ប្រសិនបើអ្នកត្រូវការបំរែបំរួល navigation ដែលឆ្លើយតប សូមពិចារណាប្រើ ឧបករណ៍ប្រើប្រាស់ flexbox ជាបន្តបន្ទាប់ ។ ខណៈពេលដែលពាក្យសំដីច្រើន ឧបករណ៍ប្រើប្រាស់ទាំងនេះផ្តល់នូវការប្ដូរតាមបំណងកាន់តែច្រើននៅទូទាំងចំណុចឈប់ដែលឆ្លើយតប។ នៅក្នុងឧទាហរណ៍ខាងក្រោម nav របស់យើងនឹងត្រូវបានដាក់ជង់លើចំណុចបំបែកទាបបំផុត បន្ទាប់មកសម្របទៅនឹងប្លង់ផ្ដេកដែលបំពេញទទឹងដែលមានដោយចាប់ផ្តើមពីចំនុចបំបែកតូច។

<nav class="nav nav-pills flex-column flex-sm-row">
  <a class="flex-sm-fill text-sm-center nav-link active" aria-current="page" href="#">Active</a>
  <a class="flex-sm-fill text-sm-center nav-link" href="#">Longer nav link</a>
  <a class="flex-sm-fill text-sm-center nav-link" href="#">Link</a>
  <a class="flex-sm-fill text-sm-center nav-link disabled">Disabled</a>
</nav>

ទាក់ទងនឹងភាពងាយស្រួល

ប្រសិនបើអ្នកកំពុងប្រើ navs ដើម្បីផ្តល់របាររុករក ត្រូវប្រាកដថាបន្ថែម role="navigation"ទៅកុងតឺន័រមេឡូជីខលបំផុតនៃ ធាតុ <ul>ឬរុំ <nav>ធាតុជុំវិញការរុករកទាំងមូល។ កុំបន្ថែមតួនាទីទៅ <ul>ខ្លួនវា ព្រោះវានឹងរារាំងវាពីការប្រកាសជាបញ្ជីពិតប្រាកដដោយបច្ចេកវិទ្យាជំនួយ។

ចំណាំថារបាររុករក បើទោះបីជាមានរចនាប័ទ្មមើលឃើញជាផ្ទាំងជាមួយ .nav-tabsថ្នាក់ក៏ដោយ មិនrole="tablist" គួរត្រូវ បាន ផ្តល់ឱ្យ role="tab"role="tabpanel"គុណលក្ខណៈទេ។ ទាំងនេះគឺសមរម្យសម្រាប់តែចំណុចប្រទាក់ផ្ទាំងថាមវន្ត ដូចដែលបានពិពណ៌នានៅក្នុង ការអនុវត្តការ សរសេររបស់ WAI ARIA ។ សូមមើល ឥរិយាបថ JavaScript សម្រាប់ចំណុចប្រទាក់ផ្ទាំងថាមវន្តនៅក្នុងផ្នែកនេះសម្រាប់ឧទាហរណ៍មួយ។ គុណលក្ខណៈ aria-currentមិនចាំបាច់នៅលើចំណុចប្រទាក់ផ្ទាំងថាមវន្តទេ ដោយសារ JavaScript របស់យើងគ្រប់គ្រងស្ថានភាពដែលបានជ្រើសរើសដោយបន្ថែម aria-selected="true"លើផ្ទាំងសកម្ម។

ការប្រើប្រាស់បញ្ជីទម្លាក់ចុះ

បន្ថែមម៉ឺនុយទម្លាក់ចុះជាមួយ HTML បន្ថែមតិចតួច និង កម្មវិធីជំនួយ JavaScript ទម្លាក់ចុះ

ផ្ទាំងដែលមានបញ្ជីទម្លាក់ចុះ

<ul class="nav nav-tabs">
  <li class="nav-item">
    <a class="nav-link active" aria-current="page" href="#">Active</a>
  </li>
  <li class="nav-item dropdown">
    <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false">Dropdown</a>
    <ul class="dropdown-menu">
      <li><a class="dropdown-item" href="#">Action</a></li>
      <li><a class="dropdown-item" href="#">Another action</a></li>
      <li><a class="dropdown-item" href="#">Something else here</a></li>
      <li><hr class="dropdown-divider"></li>
      <li><a class="dropdown-item" href="#">Separated link</a></li>
    </ul>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

ថ្នាំគ្រាប់ជាមួយនឹងការទម្លាក់ចុះ

<ul class="nav nav-pills">
  <li class="nav-item">
    <a class="nav-link active" aria-current="page" href="#">Active</a>
  </li>
  <li class="nav-item dropdown">
    <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false">Dropdown</a>
    <ul class="dropdown-menu">
      <li><a class="dropdown-item" href="#">Action</a></li>
      <li><a class="dropdown-item" href="#">Another action</a></li>
      <li><a class="dropdown-item" href="#">Something else here</a></li>
      <li><hr class="dropdown-divider"></li>
      <li><a class="dropdown-item" href="#">Separated link</a></li>
    </ul>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

សាស

អថេរ

$nav-link-padding-y:                .5rem;
$nav-link-padding-x:                1rem;
$nav-link-font-size:                null;
$nav-link-font-weight:              null;
$nav-link-color:                    $link-color;
$nav-link-hover-color:              $link-hover-color;
$nav-link-transition:               color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
$nav-link-disabled-color:           $gray-600;

$nav-tabs-border-color:             $gray-300;
$nav-tabs-border-width:             $border-width;
$nav-tabs-border-radius:            $border-radius;
$nav-tabs-link-hover-border-color:  $gray-200 $gray-200 $nav-tabs-border-color;
$nav-tabs-link-active-color:        $gray-700;
$nav-tabs-link-active-bg:           $body-bg;
$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg;

$nav-pills-border-radius:           $border-radius;
$nav-pills-link-active-color:       $component-active-color;
$nav-pills-link-active-bg:          $component-active-bg;

ឥរិយាបថ JavaScript

ប្រើផ្ទាំងជំនួយ JavaScript — រួមបញ្ចូលវាជាលក្ខណៈបុគ្គល ឬតាមរយៈឯកសារដែលបានចងក្រង bootstrap.js— ដើម្បីពង្រីកផ្ទាំងរុករក និងថ្នាំគ្រាប់របស់យើងដើម្បីបង្កើតផ្ទាំងផ្ទាំងដែលអាចដាក់បាននៃមាតិកាក្នុងតំបន់។

ចំណុចប្រទាក់ផ្ទាំងថាមវន្ត ដូចដែលបានពិពណ៌នានៅក្នុង ការអនុវត្តការ សរសេររបស់ WAI ARIA ទាមទារ role="tablist", role="tab", role="tabpanel", និង aria-គុណលក្ខណៈបន្ថែម ដើម្បីបញ្ជូនរចនាសម្ព័ន្ធ មុខងារ និងស្ថានភាពបច្ចុប្បន្នរបស់ពួកគេទៅកាន់អ្នកប្រើប្រាស់នៃបច្ចេកវិទ្យាជំនួយ (ដូចជាកម្មវិធីអានអេក្រង់)។ ជាការអនុវត្តល្អបំផុត យើងសូមណែនាំឱ្យប្រើ <button>ធាតុសម្រាប់ផ្ទាំង ព្រោះទាំងនេះគឺជាការគ្រប់គ្រងដែលបង្កឱ្យមានការផ្លាស់ប្តូរថាមវន្ត ជាជាងតំណភ្ជាប់ដែលរុករកទៅកាន់ទំព័រ ឬទីតាំងថ្មី។

ចំណាំថាចំណុចប្រទាក់ផ្ទាំងថាមវន្ត មិន គួរ មានម៉ឺនុយទម្លាក់ចុះទេព្រោះវាបណ្តាលឱ្យមានបញ្ហាទាំងលទ្ធភាពប្រើប្រាស់និងភាពងាយស្រួល។ តាមទស្សនៈនៃការប្រើប្រាស់ ការពិតដែលថាធាតុកេះរបស់ផ្ទាំងដែលបង្ហាញបច្ចុប្បន្នមិនអាចមើលឃើញភ្លាមៗទេ (ព្រោះវាស្ថិតនៅក្នុងម៉ឺនុយទម្លាក់ចុះដែលបានបិទ) អាចបណ្តាលឱ្យមានការភ័ន្តច្រឡំ។ តាមទស្សនៈនៃមធ្យោបាយងាយស្រួល បច្ចុប្បន្ននេះមិនមានវិធីសមហេតុសមផលក្នុងការគូសផែនទីសំណង់ប្រភេទនេះទៅជាគំរូ WAI ARIA ស្តង់ដារទេ មានន័យថា អ្នកប្រើប្រាស់បច្ចេកវិទ្យាជំនួយមិនអាចយល់បានយ៉ាងងាយស្រួលនោះទេ។

នេះ​គឺ​ជា​មាតិកា​កន្លែង​ដាក់​មួយ​ចំនួន​ដែល​មាតិកា​ដែល​ពាក់ព័ន្ធ​របស់​ផ្ទាំង​ដើម។ ការ​ចុច​ផ្ទាំង​មួយ​ផ្សេង​ទៀត​នឹង​បិទ​បើក​លទ្ធភាព​មើល​ឃើញ​របស់​ផ្ទាំង​មួយ​នេះ​សម្រាប់​បន្ទាប់។ ផ្ទាំង JavaScript ប្តូរថ្នាក់ ដើម្បីគ្រប់គ្រងលទ្ធភាពមើលឃើញខ្លឹមសារ និងរចនាប័ទ្ម។ អ្នក​អាច​ប្រើ​វា​ជា​មួយ​នឹង​ផ្ទាំង ថ្នាំ​គ្រាប់ និង​ការ .nav​រុករក​ដោយ​ថាមពល​ផ្សេង​ទៀត។

This is some placeholder content the Profile tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other .nav-powered navigation.

This is some placeholder content the Contact tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other .nav-powered navigation.

<ul class="nav nav-tabs" id="myTab" role="tablist">
  <li class="nav-item" role="presentation">
    <button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true">Home</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false">Profile</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="contact-tab" data-bs-toggle="tab" data-bs-target="#contact" type="button" role="tab" aria-controls="contact" aria-selected="false">Contact</button>
  </li>
</ul>
<div class="tab-content" id="myTabContent">
  <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">...</div>
  <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">...</div>
  <div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">...</div>
</div>

ដើម្បីជួយបំពេញតម្រូវការរបស់អ្នក វាដំណើរការជាមួយនឹងការ <ul>សម្គាល់ -based ដូចដែលបានបង្ហាញខាងលើ ឬជាមួយនឹងការសម្គាល់ "រមៀលផ្ទាល់ខ្លួនរបស់អ្នក" តាមអំពើចិត្តណាមួយ។ ចំណាំថាប្រសិនបើអ្នកកំពុងប្រើ <nav>អ្នកមិនគួរបន្ថែម role="tablist"ដោយផ្ទាល់ទៅវាទេ ព្រោះវានឹងបដិសេធតួនាទីដើមរបស់ធាតុដែលជាទីតាំងសម្គាល់រុករក។ ជំនួសមកវិញ សូមប្តូរទៅធាតុជំនួស (ក្នុងឧទាហរណ៍ខាងក្រោម សាមញ្ញ <div>) ហើយរុំ <nav>ជុំវិញវា។

<nav>
  <div class="nav nav-tabs" id="nav-tab" role="tablist">
    <button class="nav-link active" id="nav-home-tab" data-bs-toggle="tab" data-bs-target="#nav-home" type="button" role="tab" aria-controls="nav-home" aria-selected="true">Home</button>
    <button class="nav-link" id="nav-profile-tab" data-bs-toggle="tab" data-bs-target="#nav-profile" type="button" role="tab" aria-controls="nav-profile" aria-selected="false">Profile</button>
    <button class="nav-link" id="nav-contact-tab" data-bs-toggle="tab" data-bs-target="#nav-contact" type="button" role="tab" aria-controls="nav-contact" aria-selected="false">Contact</button>
  </div>
</nav>
<div class="tab-content" id="nav-tabContent">
  <div class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab">...</div>
  <div class="tab-pane fade" id="nav-profile" role="tabpanel" aria-labelledby="nav-profile-tab">...</div>
  <div class="tab-pane fade" id="nav-contact" role="tabpanel" aria-labelledby="nav-contact-tab">...</div>
</div>

កម្មវិធីជំនួយផ្ទាំងក៏ដំណើរការជាមួយថ្នាំគ្រាប់ផងដែរ។

នេះ​គឺ​ជា​មាតិកា​កន្លែង​ដាក់​មួយ​ចំនួន​ដែល​មាតិកា​ដែល​ពាក់ព័ន្ធ​របស់​ផ្ទាំង​ដើម។ ការ​ចុច​ផ្ទាំង​មួយ​ផ្សេង​ទៀត​នឹង​បិទ​បើក​លទ្ធភាព​មើល​ឃើញ​របស់​ផ្ទាំង​មួយ​នេះ​សម្រាប់​បន្ទាប់។ ផ្ទាំង JavaScript ប្តូរថ្នាក់ ដើម្បីគ្រប់គ្រងលទ្ធ���ាពមើលឃើញខ្លឹមសារ និងរចនាប័ទ្ម។ អ្នក​អាច​ប្រើ​វា​ជា​មួយ​នឹង​ផ្ទាំង ថ្នាំ​គ្រាប់ និង​ការ .nav​រុករក​ដោយ​ថាមពល​ផ្សេង​ទៀត។

This is some placeholder content the Profile tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other .nav-powered navigation.

This is some placeholder content the Contact tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other .nav-powered navigation.

<ul class="nav nav-pills mb-3" id="pills-tab" role="tablist">
  <li class="nav-item" role="presentation">
    <button class="nav-link active" id="pills-home-tab" data-bs-toggle="pill" data-bs-target="#pills-home" type="button" role="tab" aria-controls="pills-home" aria-selected="true">Home</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="pills-profile-tab" data-bs-toggle="pill" data-bs-target="#pills-profile" type="button" role="tab" aria-controls="pills-profile" aria-selected="false">Profile</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="pills-contact-tab" data-bs-toggle="pill" data-bs-target="#pills-contact" type="button" role="tab" aria-controls="pills-contact" aria-selected="false">Contact</button>
  </li>
</ul>
<div class="tab-content" id="pills-tabContent">
  <div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">...</div>
  <div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab">...</div>
  <div class="tab-pane fade" id="pills-contact" role="tabpanel" aria-labelledby="pills-contact-tab">...</div>
</div>

និងជាមួយថ្នាំបញ្ឈរ។

នេះ​គឺ​ជា​មាតិកា​កន្លែង​ដាក់​មួយ​ចំនួន​ដែល​មាតិកា​ដែល​ពាក់ព័ន្ធ​របស់​ផ្ទាំង​ដើម។ ការ​ចុច​ផ្ទាំង​មួយ​ផ្សេង​ទៀត​នឹង​បិទ​បើក​លទ្ធភាព​មើល​ឃើញ​របស់​ផ្ទាំង​មួយ​នេះ​សម្រាប់​បន្ទាប់។ ផ្ទាំង JavaScript ប្តូរថ្នាក់ ដើម្បីគ្រប់គ្រងលទ្ធភាពមើលឃើញខ្លឹមសារ និងរចនាប័ទ្ម។ អ្នក​អាច​ប្រើ​វា​ជា​មួយ​នឹង​ផ្ទាំង ថ្នាំ​គ្រាប់ និង​ការ .nav​រុករក​ដោយ​ថាមពល​ផ្សេង​ទៀត។

This is some placeholder content the Profile tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other .nav-powered navigation.

This is some placeholder content the Messages tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other .nav-powered navigation.

This is some placeholder content the Settings tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other .nav-powered navigation.

<div class="d-flex align-items-start">
  <div class="nav flex-column nav-pills me-3" id="v-pills-tab" role="tablist" aria-orientation="vertical">
    <button class="nav-link active" id="v-pills-home-tab" data-bs-toggle="pill" data-bs-target="#v-pills-home" type="button" role="tab" aria-controls="v-pills-home" aria-selected="true">Home</button>
    <button class="nav-link" id="v-pills-profile-tab" data-bs-toggle="pill" data-bs-target="#v-pills-profile" type="button" role="tab" aria-controls="v-pills-profile" aria-selected="false">Profile</button>
    <button class="nav-link" id="v-pills-messages-tab" data-bs-toggle="pill" data-bs-target="#v-pills-messages" type="button" role="tab" aria-controls="v-pills-messages" aria-selected="false">Messages</button>
    <button class="nav-link" id="v-pills-settings-tab" data-bs-toggle="pill" data-bs-target="#v-pills-settings" type="button" role="tab" aria-controls="v-pills-settings" aria-selected="false">Settings</button>
  </div>
  <div class="tab-content" id="v-pills-tabContent">
    <div class="tab-pane fade show active" id="v-pills-home" role="tabpanel" aria-labelledby="v-pills-home-tab">...</div>
    <div class="tab-pane fade" id="v-pills-profile" role="tabpanel" aria-labelledby="v-pills-profile-tab">...</div>
    <div class="tab-pane fade" id="v-pills-messages" role="tabpanel" aria-labelledby="v-pills-messages-tab">...</div>
    <div class="tab-pane fade" id="v-pills-settings" role="tabpanel" aria-labelledby="v-pills-settings-tab">...</div>
  </div>
</div>

ការប្រើប្រាស់គុណលក្ខណៈទិន្នន័យ

អ្នកអាចបើកដំណើរការផ្ទាំង ឬថ្នាំគ្រាប់រុករកដោយមិនចាំបាច់សរសេរ JavaScript ដោយគ្រាន់តែបញ្ជាក់ data-bs-toggle="tab"data-bs-toggle="pill"នៅលើធាតុមួយ។ ប្រើគុណលក្ខណៈទិន្នន័យទាំងនេះនៅលើ .nav-tabs.nav-pills.

<!-- Nav tabs -->
<ul class="nav nav-tabs" id="myTab" role="tablist">
  <li class="nav-item" role="presentation">
    <button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true">Home</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false">Profile</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="messages-tab" data-bs-toggle="tab" data-bs-target="#messages" type="button" role="tab" aria-controls="messages" aria-selected="false">Messages</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="settings-tab" data-bs-toggle="tab" data-bs-target="#settings" type="button" role="tab" aria-controls="settings" aria-selected="false">Settings</button>
  </li>
</ul>

<!-- Tab panes -->
<div class="tab-content">
  <div class="tab-pane active" id="home" role="tabpanel" aria-labelledby="home-tab">...</div>
  <div class="tab-pane" id="profile" role="tabpanel" aria-labelledby="profile-tab">...</div>
  <div class="tab-pane" id="messages" role="tabpanel" aria-labelledby="messages-tab">...</div>
  <div class="tab-pane" id="settings" role="tabpanel" aria-labelledby="settings-tab">...</div>
</div>

តាមរយៈ JavaScript

បើកផ្ទាំងដែលអាចប្រើបានតាមរយៈ JavaScript (ផ្ទាំងនីមួយៗត្រូវធ្វើឱ្យសកម្មដាច់ដោយឡែក)៖

var triggerTabList = [].slice.call(document.querySelectorAll('#myTab button'))
triggerTabList.forEach(function (triggerEl) {
  var tabTrigger = new bootstrap.Tab(triggerEl)

  triggerEl.addEventListener('click', function (event) {
    event.preventDefault()
    tabTrigger.show()
  })
})

អ្នកអាចធ្វើឱ្យផ្ទាំងនីមួយៗសកម្មតាមវិធីជាច្រើន៖

var triggerEl = document.querySelector('#myTab button[data-bs-target="#profile"]')
bootstrap.Tab.getInstance(triggerEl).show() // Select tab by name

var triggerFirstTabEl = document.querySelector('#myTab li:first-child button')
bootstrap.Tab.getInstance(triggerFirstTabEl).show() // Select first tab

ប្រសិទ្ធិភាពបន្ថយ

ដើម្បីធ្វើឱ្យផ្ទាំងធ្លាក់ចុះ សូមបន្ថែម .fadeទៅនីមួយៗ .tab-pane។ ផ្ទាំងផ្ទាំងទីមួយក៏ត្រូវតែ .showធ្វើឱ្យមាតិកាដំបូងអាចមើលឃើញផងដែរ។

<div class="tab-content">
  <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">...</div>
  <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">...</div>
  <div class="tab-pane fade" id="messages" role="tabpanel" aria-labelledby="messages-tab">...</div>
  <div class="tab-pane fade" id="settings" role="tabpanel" aria-labelledby="settings-tab">...</div>
</div>

វិធីសាស្រ្ត

វិធីសាស្រ្ត និងការផ្លាស់ប្តូរអសមកាល

វិធីសាស្រ្ត API ទាំងអស់គឺ អសមកាល ហើយចាប់ផ្តើមការ ផ្លាស់ប្តូរ ។ ពួកគេត្រឡប់ទៅអ្នកហៅចូលវិញភ្លាមៗ នៅពេលដែលការផ្លាស់ប្តូរត្រូវបានចាប់ផ្តើម ប៉ុន្តែ មុនពេលវាបញ្ចប់ ។ លើស​ពី​នេះ​ទៀត ការ​ហៅ​វិធី​សា​ស្រ្ត​លើ ​សមាសភាគ​ការ​ផ្លាស់​ប្តូរ​នឹង​ត្រូវ​បាន​មិន​អើពើ

សូមមើលឯកសារ JavaScript របស់យើងសម្រាប់ព័ត៌មានបន្ថែម

constructor

ធ្វើឱ្យធាតុផ្ទាំង និងឧបករណ៍ផ្ទុកមាតិកាសកម្ម។ ថេបគួរតែមាន data-bs-targetឬប្រសិនបើប្រើតំណ hrefគុណលក្ខណៈ កំណត់គោលដៅថ្នាំងកុងតឺន័រនៅក្នុង DOM ។

<ul class="nav nav-tabs" id="myTab" role="tablist">
  <li class="nav-item" role="presentation">
    <button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true">Home</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false">Profile</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="messages-tab" data-bs-toggle="tab" data-bs-target="#messages" type="button" role="tab" aria-controls="messages" aria-selected="false">Messages</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="settings-tab" data-bs-toggle="tab" data-bs-target="#settings" type="button" role="tab" aria-controls="settings" aria-selected="false">Settings</button>
  </li>
</ul>

<div class="tab-content">
  <div class="tab-pane active" id="home" role="tabpanel" aria-labelledby="home-tab">...</div>
  <div class="tab-pane" id="profile" role="tabpanel" aria-labelledby="profile-tab">...</div>
  <div class="tab-pane" id="messages" role="tabpanel" aria-labelledby="messages-tab">...</div>
  <div class="tab-pane" id="settings" role="tabpanel" aria-labelledby="settings-tab">...</div>
</div>

<script>
  var firstTabEl = document.querySelector('#myTab li:last-child button')
  var firstTab = new bootstrap.Tab(firstTabEl)

  firstTab.show()
</script>

បង្ហាញ

ជ្រើសរើសផ្ទាំងដែលបានផ្តល់ឱ្យ ហើយបង្ហាញបន្ទះដែលពាក់ព័ន្ធរបស់វា។ ផ្ទាំងផ្សេងទៀតដែលត្រូវបានជ្រើសរើសពីមុននឹងមិនត្រូវបានជ្រើសរើស ហើយផ្ទាំងដែលពាក់ព័ន្ធរបស់វាត្រូវបានលាក់។ ត្រឡប់​ទៅ​អ្នក​ហៅ​ទូរសព្ទ​វិញ មុន​ពេល​ផ្ទាំង​ផ្ទាំង​ត្រូវ​បាន​បង្ហាញ​យ៉ាង​ពិត​ប្រាកដ (ឧ. មុន shown.bs.tab​ព្រឹត្តិការណ៍​កើត​ឡើង)។

  var someTabTriggerEl = document.querySelector('#someTabTrigger')
  var tab = new bootstrap.Tab(someTabTriggerEl)

  tab.show()

បោះចោល

បំផ្លាញផ្ទាំងរបស់ធាតុមួយ។

getInstance

វិធីសាស្ត្រ ឋិតិវន្ត ដែលអនុញ្ញាតឱ្យអ្នកទទួលបានឧទាហរណ៍ផ្ទាំងដែលភ្ជាប់ជាមួយធាតុ DOM

var triggerEl = document.querySelector('#trigger')
var tab = bootstrap.Tab.getInstance(triggerEl) // Returns a Bootstrap tab instance

getOrCreateInstance

វិធីសាស្ត្រ ឋិតិវន្ត ដែលអនុញ្ញាតឱ្យអ្នកទទួលបានធាតុផ្ទាំងដែលភ្ជាប់ជាមួយធាតុ DOM ឬបង្កើតថ្មីមួយក្នុងករណីដែលវាមិនត្រូវបានចាប់ផ្តើម

var triggerEl = document.querySelector('#trigger')
var tab = bootstrap.Tab.getOrCreateInstance(triggerEl) // Returns a Bootstrap tab instance

ព្រឹត្តិការណ៍

នៅពេលបង្ហាញផ្ទាំងថ្មី ព្រឹត្តិការណ៍នឹងឆេះតាមលំដាប់ដូចខាងក្រោម៖

  1. hide.bs.tab(នៅលើផ្ទាំងសកម្មបច្ចុប្បន្ន)
  2. show.bs.tab(នៅលើផ្ទាំងដែលត្រូវបង្ហាញ)
  3. hidden.bs.tab(នៅលើផ្ទាំងសកម្មមុន ដូចគ្នាទៅនឹង hide.bs.tabព្រឹត្តិការណ៍)
  4. shown.bs.tab(នៅលើផ្ទាំងដែលទើបនឹងបង្ហាញសកម្មថ្មី ដូចគ្នាទៅនឹង show.bs.tabព្រឹត្តិការណ៍)

ប្រសិន​បើ​គ្មាន​ផ្ទាំង​សកម្ម​រួច​ហើយ នោះ hide.bs.tab​និង hidden.bs.tab​ព្រឹត្តិការណ៍​នឹង​មិន​ត្រូវ​បាន​បណ្តេញ​ចេញ​ទេ។

ប្រភេទព្រឹត្តិការណ៍ ការពិពណ៌នា
show.bs.tab ព្រឹត្តិការណ៍នេះចាប់ផ្តើមនៅលើផ្ទាំងបង្ហាញ ប៉ុន្តែមុនពេលផ្ទាំងថ្មីត្រូវបានបង្ហាញ។ ប្រើ event.targetនិង event.relatedTargetដើម្បីកំណត់គោលដៅផ្ទាំងសកម្ម និងផ្ទាំងសកម្មពីមុន (ប្រសិនបើមាន) រៀងគ្នា។
shown.bs.tab ព្រឹត្តិការណ៍នេះចាប់ផ្តើមនៅលើផ្ទាំងបង្ហាញបន្ទាប់ពីផ្ទាំងមួយត្រូវបានបង្ហាញ។ ប្រើ event.targetនិង event.relatedTargetដើម្បីកំណត់គោលដៅផ្ទាំងសកម្ម និងផ្ទាំងសកម្មពីមុន (ប្រសិនបើមាន) រៀងគ្នា។
hide.bs.tab ព្រឹត្តិការណ៍នេះដំណើរការនៅពេលដែលផ្ទាំងថ្មីត្រូវបានបង្ហាញ (ហើយដូច្នេះផ្ទាំងសកម្មពីមុននឹងត្រូវលាក់)។ ប្រើ event.targetនិង event.relatedTargetដើម្បីកំណត់គោលដៅផ្ទាំងសកម្មបច្ចុប្បន្ន និងផ្ទាំងថ្មីដែលនឹងសកម្មក្នុងពេលឆាប់ៗនេះ រៀងគ្នា។
hidden.bs.tab ព្រឹត្តិការណ៍នេះដំណើរការបន្ទាប់ពីផ្ទាំងថ្មីត្រូវបានបង្ហាញ (ហើយដូច្នេះផ្ទាំងសកម្មពីមុនត្រូវបានលាក់)។ ប្រើ event.targetនិង event.relatedTargetដើម្បីកំណត់គោលដៅផ្ទាំងសកម្មពីមុន និងផ្ទាំងសកម្មថ្មីរៀងៗខ្លួន។
var tabEl = document.querySelector('button[data-bs-toggle="tab"]')
tabEl.addEventListener('shown.bs.tab', function (event) {
  event.target // newly activated tab
  event.relatedTarget // previous active tab
})