Source

វង់

សមាសធាតុ​បញ្ចាំងស្លាយ​សម្រាប់​ការ​ជិះកង់​តាម​ធាតុ—រូបភាព ឬ​ស្លាយ​នៃ​អត្ថបទ—ដូចជា​រង្វង់មូល។

របៀបដែលវាដំណើរការ

រង្វង់មូលគឺជាការបញ្ចាំងស្លាយសម្រាប់ជិះកង់តាមរយៈខ្លឹមសារជាបន្តបន្ទាប់ ដែលបង្កើតឡើងជាមួយនឹងការបំប្លែង CSS 3D និង JavaScript បន្តិច។ វាដំណើរការជាមួយស៊េរីរូបភាព អត្ថបទ ឬការសម្គាល់ផ្ទាល់ខ្លួន។ វាក៏រួមបញ្ចូលការគាំទ្រសម្រាប់ការត្រួតពិនិត្យពីមុន/បន្ទាប់ និងសូចនាករផងដែរ។

នៅក្នុងកម្មវិធីរុករកតាមអ៊ីនធឺណិតដែល API លទ្ធភាពមើលឃើញទំព័រ ត្រូវបានគាំទ្រ រង្វង់នឹងជៀសវាងការរអិលនៅពេលដែលគេហទំព័រមិនអាចមើលឃើញដោយអ្នកប្រើប្រាស់ (ដូចជានៅពេលដែលផ្ទាំងកម្មវិធីរុករកមិនដំណើរការ បង្អួចកម្មវិធីរុករកត្រូវបានបង្រួមអប្បបរមា។ល។)។

សូម​ដឹង​ថា រង្វង់មូល​មិន​ត្រូវ​បាន​គាំទ្រ​ទេ ហើយ​រង្វង់​មូល​មិន​ត្រូវ​បាន​អនុលោម​តាម​ស្តង់ដារ​លទ្ធភាព​ប្រើប្រាស់​ទេ។

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

ឧទាហរណ៍

Carousels មិនធ្វើឱ្យទំហំស្លាយធម្មតាដោយស្វ័យប្រវត្តិទេ។ ដូចនេះ អ្នកប្រហែលជាត្រូវប្រើឧបករណ៍ប្រើប្រាស់បន្ថែម ឬរចនាប័ទ្មផ្ទាល់ខ្លួន ដើម្បីទំហំមាតិកាសមស្រប។ ខណៈពេលដែល carousels គាំទ្រការគ្រប់គ្រង និងសូចនាករពីមុន/បន្ទាប់ ពួកវាមិនត្រូវបានទាមទារច្បាស់លាស់ទេ។ បន្ថែម និងប្ដូរតាមបំណងតាមដែលអ្នកឃើញសម។

ថ្នាក់ .activeត្រូវបន្ថែមទៅស្លាយមួយ បើមិនដូច្នេះទេ រង្វង់នឹងមើលមិនឃើញទេ។ ត្រូវប្រាកដថាកំណត់លេខសម្គាល់តែមួយគត់នៅលើ .carouselវត្ថុបញ្ជាជាជម្រើស ជាពិសេសប្រសិនបើអ្នកកំពុងប្រើរង្វង់មូលច្រើននៅលើទំព័រតែមួយ។ ធាតុត្រួតពិនិត្យ និងសូចនាករត្រូវតែមាន data-targetគុណលក្ខណៈ (ឬ hrefសម្រាប់តំណ) ដែលផ្គូផ្គងលេខសម្គាល់របស់ .carouselធាតុ។

ស្លាយតែប៉ុណ្ណោះ

នេះ​ជា​រង្វង់​មូល​ដែល​មាន​ស្លាយ​ប៉ុណ្ណោះ។ ចំណាំវត្តមានរបស់រូបភាព .d-blockនិង .w-100នៅលើរង្វង់មូល ដើម្បីការពារការតម្រឹមរូបភាពលំនាំដើមរបស់កម្មវិធីរុករកតាមអ៊ីនធឺណិត។

<div id="carouselExampleSlidesOnly" class="carousel slide" data-ride="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
    </div>
  </div>
</div>

ជាមួយនឹងការគ្រប់គ្រង

ការបន្ថែមនៅក្នុងការគ្រប់គ្រងពីមុន និងបន្ទាប់៖

<div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
    </div>
  </div>
  <a class="carousel-control-prev" href="#carouselExampleControls" role="button" data-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="carousel-control-next" href="#carouselExampleControls" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>

ជាមួយនឹងសូចនាករ

អ្នកក៏អាចបន្ថែមសូចនាករទៅរង្វង់មូល រួមជាមួយនឹងវត្ថុបញ្ជាផងដែរ។

<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
  <ol class="carousel-indicators">
    <li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
    <li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
    <li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
  </ol>
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
    </div>
  </div>
  <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>

ជាមួយនឹងចំណងជើង

បន្ថែមចំណងជើងទៅស្លាយរបស់អ្នកយ៉ាងងាយស្រួលជាមួយនឹង .carousel-captionធាតុនៅក្នុងណាមួយ .carousel-item។ ពួកវាអាចលាក់បានយ៉ាងងាយស្រួលនៅលើច្រកចូលមើលដែលតូចជាង ដូចដែលបានបង្ហាញខាងក្រោម ជាមួយនឹង ឧបករណ៍ប្រើប្រាស់ការបង្ហាញ ស្រេចចិត្ត ។ យើង​លាក់​ពួកវា​ដំបូង​ជាមួយ .d-noneនិង​នាំ​ពួកគេ​មកវិញ​នៅលើ​ឧបករណ៍​ទំហំ​មធ្យម​ជាមួយ .d-md-block.

<div class="carousel-item">
  <img src="..." alt="...">
  <div class="carousel-caption d-none d-md-block">
    <h5>...</h5>
    <p>...</p>
  </div>
</div>

ខ្វែង

បន្ថែម .carousel-fade​ទៅ​រង្វង់​មូល​របស់​អ្នក​ដើម្បី​ធ្វើ​ឱ្យ​ស្លាយ​មាន​ចលនា​ជាមួយ​នឹង​ការ​ផ្លាស់​ប្តូរ​ដែល​បន្ថយ​ជា​ជាង​ស្លាយ។

<div id="carouselExampleFade" class="carousel slide carousel-fade" data-ride="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
    </div>
  </div>
  <a class="carousel-control-prev" href="#carouselExampleFade" role="button" data-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="carousel-control-next" href="#carouselExampleFade" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>

ការប្រើប្រាស់

តាមរយៈគុណលក្ខណៈទិន្នន័យ

ប្រើគុណលក្ខណៈទិន្នន័យ ដើម្បីងាយស្រួលគ្រប់គ្រងទីតាំងរបស់រង្វង់មូល។ data-slideទទួលយកពាក្យគន្លឹះ prevnextដែលផ្លាស់ប្តូរទីតាំងស្លាយទាក់ទងទៅនឹងទីតាំងបច្ចុប្បន្នរបស់វា។ ម៉្យាងទៀត ប្រើ data-slide-toដើម្បីបញ្ជូនសន្ទស្សន៍ស្លាយឆៅទៅរង្វង់មូល data-slide-to="2"ដែលផ្លាស់ប្តូរទីតាំងស្លាយទៅសន្ទស្សន៍ជាក់លាក់ដែលចាប់ផ្តើមដោយ 0.

គុណលក្ខណៈ data-ride="carousel"​ត្រូវ​បាន​ប្រើ​ដើម្បី​សម្គាល់​រង្វង់​មូល​ថា​ជា​ចលនា​ចាប់​ផ្តើម​នៅ​ពេល​ផ្ទុក​ទំព័រ។ វាមិនអាចប្រើរួមជាមួយនឹងការចាប់ផ្តើម JavaScript ច្បាស់លាស់ (ដែលលែងត្រូវការគ្នា និងមិនចាំបាច់) នៃរង្វង់មូលដូចគ្នា។

តាមរយៈ JavaScript

ហៅទូរស័ព្ទទៅរង្វង់ដោយដៃដោយប្រើ៖

$('.carousel').carousel()

ជម្រើស

ជម្រើសអាចត្រូវបានឆ្លងកាត់តាមរយៈគុណលក្ខណៈទិន្នន័យ ឬ JavaScript ។ សម្រាប់គុណលក្ខណៈទិន្នន័យ សូមបន្ថែមឈ្មោះជម្រើសទៅ data-ដូចក្នុង data-interval="".

ឈ្មោះ ប្រភេទ លំនាំដើម ការពិពណ៌នា
ចន្លោះពេល ចំនួន ៥០០០ ចំនួនពេលវេលាដែលត្រូវពន្យារពេលរវាងការជិះកង់ដោយស្វ័យប្រវត្តិនូវវត្ថុមួយ។ ប្រសិនបើមិនពិត រង្វង់មូលនឹងមិនវិលដោយស្វ័យប្រវត្តិទេ។
ក្តារចុច ប៊ូលីន ពិត ថាតើរង្វង់គួរមានប្រតិកម្មចំពោះព្រឹត្តិការណ៍ក្តារចុចដែរឬទេ។
ផ្អាក ខ្សែអក្សរ | ប៊ូលីន "លោត"

ប្រសិនបើ​កំណត់​ទៅ "hover"ផ្អាក​ការ​ជិះ​កង់​នៃ​រង្វង់​មូល​នៅលើ mouseenterហើយ​បន្ត​ការ​ជិះ​កង់​របស់​រង្វង់​មូល​នៅលើ mouseleave. ប្រសិនបើ​កំណត់​ទៅ ការ false​ដាក់​លើ​រង្វង់​មូល​នឹង​មិន​ផ្អាក​វា​ទេ។

នៅលើឧបករណ៍ដែលបើកការប៉ះ នៅពេលកំណត់ទៅ "hover"ការជិះកង់នឹងផ្អាកនៅលើ touchend(នៅពេលអ្នកប្រើប្រាស់បានបញ្ចប់អន្តរកម្មជាមួយរង្វង់) សម្រាប់ចន្លោះពេលពីរ មុនពេលបន្តដោយស្វ័យប្រវត្តិ។ ចំណាំថានេះគឺបន្ថែមពីលើឥរិយាបថកណ្តុរខាងលើ។

ជិះ ខ្សែអក្សរ មិនពិត លេង​រង្វង់​ដោយ​ស្វ័យ​ប្រវត្តិ​បន្ទាប់​ពី​អ្នក​ប្រើ​បង្វិល​ធាតុ​ដំបូង​ដោយ​ដៃ។ ប្រសិនបើ "carousel" ចាក់ដោយស្វ័យប្រវត្តិនូវ carousel នៅពេលផ្ទុក។
រុំ ប៊ូលីន ពិត ថាតើរង្វង់មូលគួរធ្វើចលនាបន្ត ឬមានការឈប់ពិបាក។

វិធីសាស្រ្ត

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

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

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

.carousel(options)

ចាប់ផ្ដើម​រង្វង់​មូល​ជាមួយ​ជម្រើស​ជា​ជម្រើស objectហើយ​ចាប់ផ្ដើម​ជិះ​កង់​តាម​ធាតុ។

$('.carousel').carousel({
  interval: 2000
})

.carousel('cycle')

ធ្វើរង្វង់តាមធាតុរង្វង់ពីឆ្វេងទៅស្តាំ។

.carousel('pause')

បញ្ឈប់​រង្វង់​មូល​មិន​ឱ្យ​ជិះ​កង់​កាត់​វត្ថុ។

.carousel(number)

បង្វិល​រង្វង់​ទៅ​ស៊ុម​ជាក់លាក់​មួយ (ដោយ​ផ្អែក 0 ស្រដៀង​នឹង​អារេ​មួយ)។ ត្រឡប់ទៅកាន់អ្នកហៅចូល មុនពេលធាតុគោលដៅត្រូវបានបង្ហាញ (ឧ slid.bs.carousel.

.carousel('prev')

រង្វង់ទៅធាតុមុន។ ត្រឡប់ទៅអ្នកហៅទូរស័ព្ទវិញ មុនពេលដែលធាតុមុនត្រូវបានបង្ហាញ (ឧ slid.bs.carousel.

.carousel('next')

រង្វង់ទៅធាតុបន្ទាប់។ ត្រឡប់ទៅអ្នកហៅទូរស័ព្ទវិញ មុនពេលធាតុបន្ទាប់ត្រូវបានបង្ហាញ (ឧ slid.bs.carousel.

.carousel('dispose')

បំផ្លាញរង្វង់នៃធាតុមួយ។

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

ថ្នាក់ carousel របស់ Bootstrap លាតត្រដាងនូវព្រឹត្តិការណ៍ចំនួនពីរសម្រាប់ភ្ជាប់មុខងារ carousel ។ ព្រឹត្តិការណ៍ទាំងពីរមានលក្ខណៈសម្បត្តិបន្ថែមដូចខាងក្រោមៈ

  • direction៖ ទិស​ដែល​រង្វង់​មូល​កំពុង​រអិល ( "left""right")។
  • relatedTarget៖ ធាតុ DOM ដែលកំពុងត្រូវបានដាក់បញ្ចូលជាធាតុសកម្ម។
  • from៖ លិបិក្រមនៃធាតុបច្ចុប្បន្ន
  • to៖ លិបិក្រមនៃធាតុបន្ទាប់

ព្រឹត្តិការណ៍ carousel ទាំងអស់ត្រូវបានបាញ់នៅ carousel ខ្លួនវា (ឧទាហរណ៍នៅ <div class="carousel">) ។

ប្រភេទព្រឹត្តិការណ៍ ការពិពណ៌នា
slide.bs.carousel ព្រឹត្តិការណ៍នេះឆេះភ្លាមៗ នៅពេលដែល slideវិធីសាស្ត្រ instance ត្រូវបានហៅ។
slid.bs.carousel ព្រឹត្តិការណ៍​នេះ​ត្រូវ​បាន​បញ្ឈប់​នៅ​ពេល​ដែល​រង្វង់​បាន​បញ្ចប់​ការ​ផ្លាស់​ប្តូរ​ស្លាយ​របស់​ខ្លួន។
$('#myCarousel').on('slide.bs.carousel', function () {
  // do something…
})

ផ្លាស់ប្តូររយៈពេលផ្លាស់ប្តូរ

រយៈពេលនៃការផ្លាស់ប្តូរ .carousel-itemអាចត្រូវបានផ្លាស់ប្តូរជាមួយនឹង $carousel-transitionអថេរ Sass មុនពេលចងក្រង ឬរចនាប័ទ្មផ្ទាល់ខ្លួន ប្រសិនបើអ្នកកំពុងប្រើ CSS ដែលបានចងក្រង។ ប្រសិនបើការផ្លាស់ប្តូរច្រើនត្រូវបានអនុវត្ត ត្រូវប្រាកដថាការផ្លាស់ប្តូរការផ្លាស់ប្តូរត្រូវបានកំណត់ជាមុន (ឧ. transition: transform 2s ease, opacity .5s ease-out)។