in English

កងទ័ពជើងទឹក

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

មូលដ្ឋាន nav

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

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

សមាសភាគ មូលដ្ឋាន .navមិនរួមបញ្ចូល .activeរដ្ឋណាមួយទេ។ ឧទាហរណ៍ខាងក្រោមរួមមានថ្នាក់ ជាចម្បងដើម្បីបង្ហាញថាថ្នាក់ពិសេសនេះមិនបង្កឱ្យមានរចនាប័ទ្មពិសេសណាមួយឡើយ។
<ul class="nav">
  <li class="nav-item">
    <a class="nav-link active" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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"គុណលក្ខណៈទេ។ ទាំងនេះគឺសមរម្យសម្រាប់តែចំណុចប្រទាក់ផ្ទាំងថាមវន្តប៉ុណ្ណោះ ដូចដែលបានពិពណ៌នានៅក្នុង គំរូផ្ទាំង ការណែនាំការអនុវត្ត ARIA ។ សូមមើល ឥរិយាបថ JavaScript សម្រាប់ចំណុចប្រទាក់ផ្ទាំងថាមវន្តនៅក្នុងផ្នែកនេះសម្រាប់ឧទាហរណ៍មួយ។

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

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

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

<ul class="nav nav-tabs">
  <li class="nav-item">
    <a class="nav-link active" href="#">Active</a>
  </li>
  <li class="nav-item dropdown">
    <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-expanded="false">Dropdown</a>
    <div class="dropdown-menu">
      <a class="dropdown-item" href="#">Action</a>
      <a class="dropdown-item" href="#">Another action</a>
      <a class="dropdown-item" href="#">Something else here</a>
      <div class="dropdown-divider"></div>
      <a class="dropdown-item" href="#">Separated link</a>
    </div>
  </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" href="#">Active</a>
  </li>
  <li class="nav-item dropdown">
    <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-expanded="false">Dropdown</a>
    <div class="dropdown-menu">
      <a class="dropdown-item" href="#">Action</a>
      <a class="dropdown-item" href="#">Another action</a>
      <a class="dropdown-item" href="#">Something else here</a>
      <div class="dropdown-divider"></div>
      <a class="dropdown-item" href="#">Separated link</a>
    </div>
  </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>

ឥរិយាបថ JavaScript

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

ប្រសិនបើអ្នកកំពុងបង្កើត JavaScript របស់យើងពីប្រភព វា ទាមទារutil.js .

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

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

មាតិកាកន្លែងដាក់សម្រាប់បន្ទះផ្ទាំង។ វាទាក់ទងនឹងផ្ទាំងផ្ទះ។ នាំ​អ្នក​ឱ្យ​ខ្ពស់​បាន​ច្រើន​គីឡូម៉ែត្រ ព្រោះ​នាង​ទទួល​បាន​ស្នាម​ញញឹម​អន្តរជាតិ។ មាន​មនុស្ស​ចម្លែក​នៅ​លើ​គ្រែ​របស់​ខ្ញុំ មាន​ការ​វាយ​ក្បាល​ខ្ញុំ។ អូ​ទេ។ ក្នុងជីវិតមួយទៀត ខ្ញុំនឹងឲ្យអ្នកស្នាក់នៅ។ ព្រោះខ្ញុំ ខ្ញុំមានសមត្ថភាពអ្វីទាំងអស់។ ស័ក្តិសមសម្រាប់សមរភូមិគ្រងរាជ្យរបស់ខ្ញុំ។ ធ្លាប់​លួច​ស្រា​ឪពុក​ម្តាយ​ឡើង​លើ​ដំបូលផ្ទះ​។ សម្លេង, tan សម និងត្រៀមខ្លួនជាស្រេច, បើកវាឡើងបណ្តាលឱ្យវា 'ធ្ងន់។ ស្នេហារបស់នាងគឺដូចជាថ្នាំ។ ខ្ញុំគិតថាខ្ញុំភ្លេចថាខ្ញុំមានជម្រើស។

មាតិកាកន្លែងដាក់សម្រាប់បន្ទះផ្ទាំង។ មួយនេះទាក់ទងនឹងផ្ទាំងប្រវត្តិរូប។ អ្នកទទួលបានស្ថាបត្យកម្មល្អបំផុត។ ត្រាលិខិតឆ្លងដែន នាងជាសកល។ ល្អ ស្រស់ កាចសាហាវ យើងទទួលបានវានៅលើសោ។ មិនធ្លាប់មានគម្រោងថាថ្ងៃណាមួយខ្ញុំនឹងបាត់បង់អ្នក។ នាងស៊ីបេះដូងរបស់អ្នក។ ការថើបរបស់អ្នកគឺលោហធាតុ រាល់ចលនាគឺជាវេទមន្ត។ ខ្ញុំ​មាន​ន័យ​ថា​ពួក​គេ ខ្ញុំ​មាន​ន័យ​ថា​ដូច​ជា​នាង​ជា​មួយ​។ ជំរាបសួរបងប្អូនជាទីស្រលាញ់ តោះធ្វើដំណើរកំសាន្ត។ គ្រាន់តែ​ជា​ម្ចាស់​យប់​ដូច​ថ្ងៃ​ទី 4 ខែ​កក្កដា​! ប៉ុន្តែអ្នកចង់ខ្ជះខ្ជាយ។

Placeholder content for the tab panel. This one relates to the contact tab. Her love is like a drug. All my girls vintage Chanel baby. Got a motel and built a fort out of sheets. 'Cause she's the muse and the artist. (This is how we do) So you wanna play with magic. So just be sure before you give it all to me. I'm walking, I'm walking on air (tonight). Skip the talk, heard it all, time to walk the walk. Catch her if you can. Stinging like a bee I earned my stripes.

<ul class="nav nav-tabs" id="myTab" role="tablist">
  <li class="nav-item" role="presentation">
    <button class="nav-link active" id="home-tab" data-toggle="tab" data-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-toggle="tab" data-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-toggle="tab" data-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-toggle="tab" data-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-toggle="tab" data-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-toggle="tab" data-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>

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

មាតិកាកន្លែងដាក់សម្រាប់បន្ទះផ្ទាំង។ វាទាក់ទងនឹងផ្ទាំងផ្ទះ។ នាំ​អ្នក​ឱ្យ​ខ្ពស់​បាន​ច្រើន​គីឡូម៉ែត្រ ព្រោះ​នាង​ទទួល​បាន​ស្នាម​ញញឹម​អន្តរជាតិ។ មាន​មនុស្ស​ចម្លែក​នៅ​លើ​គ្រែ​របស់​ខ្ញុំ មាន​ការ​វាយ​ក្បាល​ខ្ញុំ។ អូ​ទេ។ ក្នុងជីវិតមួយទៀត ខ្ញុំនឹងឲ្យអ្នកស្នាក់នៅ។ ព្រោះខ្ញុំ ខ្ញុំមានសមត្ថភាពអ្វីទាំងអស់។ ស័ក្តិសមសម្រាប់សមរភូមិគ្រងរាជ្យរបស់ខ្ញុំ។ ធ្លាប់​លួច​ស្រា​ឪពុក​ម្តាយ​ឡើង​លើ​ដំបូលផ្ទះ​។ សម្លេង, tan សម និងត្រៀមខ្លួនជាស្រេច, បើកវាឡើងបណ្តាលឱ្យវា 'ធ្ងន់។ ស្នេហារបស់នាងគឺដូចជាថ្នាំ។ ខ្ញុំគិតថាខ្ញុំភ្លេចថាខ្ញុំមានជម្រើស។

Placeholder content for the tab panel. This one relates to the profile tab. You got the finest architecture. Passport stamps, she's cosmopolitan. Fine, fresh, fierce, we got it on lock. Never planned that one day I'd be losing you. She eats your heart out. Your kiss is cosmic, every move is magic. I mean the ones, I mean like she's the one. Greetings loved ones let's take a journey. Just own the night like the 4th of July! But you'd rather get wasted.

Placeholder content for the tab panel. This one relates to the contact tab. Her love is like a drug. All my girls vintage Chanel baby. Got a motel and built a fort out of sheets. 'Cause she's the muse and the artist. (This is how we do) So you wanna play with magic. So just be sure before you give it all to me. I'm walking, I'm walking on air (tonight). Skip the talk, heard it all, time to walk the walk. Catch her if you can. Stinging like a bee I earned my stripes.

<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-toggle="pill" data-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-toggle="pill" data-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-toggle="pill" data-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>

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

មាតិកាកន្លែងដាក់សម្រាប់បន្ទះផ្ទាំង។ វាទាក់ទងនឹងផ្ទាំងផ្ទះ។ បាន​ឃើញ​អ្នក​នៅ​ទីប្រជុំជន​ច្រៀង​ក្រុម​តោ​ខៀវ​។ មើលអ្នករង្វង់បង្ហូរ។ ហេតុអ្វីបានជាអ្នកមិនអនុញ្ញាតឱ្យខ្ញុំឈប់? ធ្ងន់គឺក្បាលដែលពាក់មកុដ។ មែនហើយ យើងធ្វើឱ្យទេវតាយំ ភ្លៀងធ្លាក់មកលើផែនដីពីលើ។ ចង់​មើល​ការ​សម្ដែង​ជា​លក្ខណៈ 3D ជា​ភាពយន្ត។ តើអ្នកធ្លាប់មានអារម្មណ៍ថាមានអារម្មណ៍ថាក្រដាសស្តើងណាស់។ វា​ជា​បាទ​ឬ​អត់​ទេ ប្រហែល​ជា។

Placeholder content for the tab panel. This one relates to the profile tab. Takes you miles high, so high, 'cause she’s got that one international smile. There's a stranger in my bed, there's a pounding in my head. Oh, no. In another life I would make you stay. ‘Cause I, I’m capable of anything. Suiting up for my crowning battle. Used to steal your parents' liquor and climb to the roof. Tone, tan fit and ready, turn it up cause its gettin' heavy. Her love is like a drug. I guess that I forgot I had a choice.

Placeholder content for the tab panel. This one relates to the messages tab. You got the finest architecture. Passport stamps, she's cosmopolitan. Fine, fresh, fierce, we got it on lock. Never planned that one day I'd be losing you. She eats your heart out. Your kiss is cosmic, every move is magic. I mean the ones, I mean like she's the one. Greetings loved ones let's take a journey. Just own the night like the 4th of July! But you'd rather get wasted.

Placeholder content for the tab panel. This one relates to the settings tab. Her love is like a drug. All my girls vintage Chanel baby. Got a motel and built a fort out of sheets. 'Cause she's the muse and the artist. (This is how we do) So you wanna play with magic. So just be sure before you give it all to me. I'm walking, I'm walking on air (tonight). Skip the talk, heard it all, time to walk the walk. Catch her if you can. Stinging like a bee I earned my stripes.

<div class="row">
  <div class="col-3">
    <div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist" aria-orientation="vertical">
      <button class="nav-link active" id="v-pills-home-tab" data-toggle="pill" data-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-toggle="pill" data-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-toggle="pill" data-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-toggle="pill" data-target="#v-pills-settings" type="button" role="tab" aria-controls="v-pills-settings" aria-selected="false">Settings</button>
    </div>
  </div>
  <div class="col-9">
    <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>
</div>

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

អ្នកអាចបើកដំណើរការផ្ទាំង ឬថ្នាំគ្រាប់រុករកដោយមិនចាំបាច់សរសេរ JavaScript ដោយគ្រាន់តែបញ្ជាក់ data-toggle="tab"data-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-toggle="tab" data-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-toggle="tab" data-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-toggle="tab" data-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-toggle="tab" data-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 (ផ្ទាំងនីមួយៗត្រូវធ្វើឱ្យសកម្មដាច់ដោយឡែក)៖

$('#myTab button').on('click', function (event) {
  event.preventDefault()
  $(this).tab('show')
})

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

$('#myTab button[data-target="#profile"]').tab('show') // Select tab by name
$('#myTab li:first-child button').tab('show') // Select first tab
$('#myTab li:last-child button').tab('show') // Select last tab
$('#myTab li:nth-child(3) button').tab('show') // Select third 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 របស់យើងសម្រាប់ព័ត៌មានបន្ថែម

$().ផ្ទាំង

ធ្វើឱ្យធាតុផ្ទាំង និងឧបករណ៍ផ្ទុកមាតិកាសកម្ម។ ថេបគួរតែមាន data-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-toggle="tab" data-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-toggle="tab" data-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-toggle="tab" data-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-toggle="tab" data-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>
  $(function () {
    $('#myTab li:last-child button').tab('show')
  })
</script>

.tab('បង្ហាញ')

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

$('#someTab').tab('show')

.tab('បោះចោល')

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

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

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

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