Անցեք հիմնական բովանդակությանը Բաց թողնել փաստաթղթերի նավարկություն
in English

Կարուսել

Սլայդերի ցուցադրման բաղադրիչ տարրերի (պատկերների կամ տեքստի սլայդների) միջով անցնելու համար, ինչպես կարուսելը:

Ինչպես է դա աշխատում

Կարուսելը սլայդ շոու է մի շարք բովանդակության միջով հեծանվով անցնելու համար, որը կառուցված է CSS 3D տրանսֆորմացիաներով և մի քիչ JavaScript-ով: Այն աշխատում է մի շարք պատկերների, տեքստի կամ հատուկ նշագրման հետ: Այն նաև ներառում է աջակցություն նախորդ/հաջորդ վերահսկման և ցուցիչների համար:

Բրաուզերներում, որտեղ աջակցվում է Page Visibility API- ն, կարուսելը կխուսափի սահումից, երբ վեբ էջը տեսանելի չէ օգտատիրոջը (օրինակ, երբ դիտարկիչի ներդիրն ակտիվ չէ, դիտարկիչի պատուհանը նվազագույնի է հասցված և այլն):

Այս բաղադրիչի անիմացիոն էֆեկտը կախված է prefers-reduced-motionլրատվամիջոցների հարցումից: Տեսեք մեր մատչելիության փաստաթղթերի կրճատված շարժման բաժինը :

Խնդրում ենք նկատի ունենալ, որ տեղադրված կարուսելները չեն աջակցվում, և կարուսելները սովորաբար չեն համապատասխանում մատչելիության չափանիշներին:

Օրինակ

Կարուսելները ավտոմատ կերպով չեն նորմալացնում սլայդի չափերը: Որպես այդպիսին, ձեզ կարող է անհրաժեշտ լինել օգտագործել լրացուցիչ կոմունալ ծառայություններ կամ հատուկ ոճեր՝ համապատասխան չափի բովանդակության համար: Թեև կարուսելներն աջակցում են նախորդ/հաջորդ հսկիչները և ցուցիչները, դրանք բացահայտորեն պարտադիր չեն: Ավելացրեք և հարմարեցրեք այնպես, ինչպես հարմար եք գտնում:

Դասարանը պետք է .activeավելացվի սլայդներից մեկում, հակառակ դեպքում կարուսելը չի ​​երևա: idՆաև վստահ եղեք, որ ընտրովի հսկիչների վրա եզակի եք սահմանել .carousel, հատկապես, եթե մեկ էջի վրա մի քանի կարուսել եք օգտագործում: Վերահսկիչ և ցուցիչ տարրերը պետք է ունենան data-bs-targetհատկանիշ (կամ hrefհղումների համար), որը համապատասխանում idէ .carouselտարրի հատկանիշին:

Միայն սլայդներ

Ահա կարուսել միայն սլայդներով: Նկատի ունեցեք կարուսելի .d-blockև .w-100կարուսելի պատկերների առկայությունը՝ զննարկիչի նախնական պատկերների հավասարեցումը կանխելու համար:

<div id="carouselExampleSlidesOnly" class="carousel slide" data-bs-ride="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img src="..." class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item">
      <img src="..." class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item">
      <img src="..." class="d-block w-100" alt="...">
    </div>
  </div>
</div>

Վերահսկիչներով

Ավելացվում է նախորդ և հաջորդ հսկիչները: Մենք խորհուրդ ենք տալիս օգտագործել <button>տարրեր, բայց դուք կարող եք նաև օգտագործել <a>տարրեր role="button".

<div id="carouselExampleControls" class="carousel slide" data-bs-ride="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img src="..." class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item">
      <img src="..." class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item">
      <img src="..." class="d-block w-100" alt="...">
    </div>
  </div>
  <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleControls" data-bs-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Previous</span>
  </button>
  <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleControls" data-bs-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Next</span>
  </button>
</div>

Ցուցանիշներով

Կարող եք նաև ցուցիչներ ավելացնել կարուսելին, կառավարիչների հետ մեկտեղ նույնպես:

<div id="carouselExampleIndicators" class="carousel slide" data-bs-ride="carousel">
  <div class="carousel-indicators">
    <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
    <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="1" aria-label="Slide 2"></button>
    <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="2" aria-label="Slide 3"></button>
  </div>
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img src="..." class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item">
      <img src="..." class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item">
      <img src="..." class="d-block w-100" alt="...">
    </div>
  </div>
  <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Previous</span>
  </button>
  <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Next</span>
  </button>
</div>

Վերնագրերով

Հեշտությամբ ավելացրեք ենթագրեր ձեր սլայդներին՝ օգտագործելով .carousel-captionորևէ տարր .carousel-item: Դրանք կարող են հեշտությամբ թաքցվել ավելի փոքր տեսադաշտերում, ինչպես ցույց է տրված ստորև, կամընտիր ցուցադրման կոմունալ ծառայություններով : Մենք դրանք սկզբում թաքցնում ենք .d-noneև հետ ենք բերում միջին չափի սարքերի վրա .d-md-block:

<div id="carouselExampleCaptions" class="carousel slide" data-bs-ride="carousel">
  <div class="carousel-indicators">
    <button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
    <button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="1" aria-label="Slide 2"></button>
    <button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="2" aria-label="Slide 3"></button>
  </div>
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img src="..." class="d-block w-100" alt="...">
      <div class="carousel-caption d-none d-md-block">
        <h5>First slide label</h5>
        <p>Some representative placeholder content for the first slide.</p>
      </div>
    </div>
    <div class="carousel-item">
      <img src="..." class="d-block w-100" alt="...">
      <div class="carousel-caption d-none d-md-block">
        <h5>Second slide label</h5>
        <p>Some representative placeholder content for the second slide.</p>
      </div>
    </div>
    <div class="carousel-item">
      <img src="..." class="d-block w-100" alt="...">
      <div class="carousel-caption d-none d-md-block">
        <h5>Third slide label</h5>
        <p>Some representative placeholder content for the third slide.</p>
      </div>
    </div>
  </div>
  <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Previous</span>
  </button>
  <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Next</span>
  </button>
</div>

Crossfade

Ավելացրե՛ք .carousel-fadeձեր կարուսելին՝ սլայդի փոխարեն սլայդները աշխուժացնելու համար խունացած անցումով:

<div id="carouselExampleFade" class="carousel slide carousel-fade" data-bs-ride="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img src="..." class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item">
      <img src="..." class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item">
      <img src="..." class="d-block w-100" alt="...">
    </div>
  </div>
  <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleFade" data-bs-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Previous</span>
  </button>
  <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleFade" data-bs-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Next</span>
  </button>
</div>

Ավելացրե՛ք data-bs-interval=""a- .carousel-itemին՝ հաջորդ տարրը ավտոմատ կերպով հեծանվով անցնելու միջև ուշացման ժամանակը փոխելու համար:

<div id="carouselExampleInterval" class="carousel slide" data-bs-ride="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active" data-bs-interval="10000">
      <img src="..." class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item" data-bs-interval="2000">
      <img src="..." class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item">
      <img src="..." class="d-block w-100" alt="...">
    </div>
  </div>
  <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleInterval" data-bs-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Previous</span>
  </button>
  <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleInterval" data-bs-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Next</span>
  </button>
</div>

Անջատել հպումով սահեցնելը

Կարուսելներն աջակցում են սենսորային էկրանով սարքերի վրա սահել ձախ/աջ՝ սլայդների միջև շարժվելու համար: Սա կարելի է անջատել՝ օգտագործելով data-bs-touchհատկանիշը: Ստորև բերված օրինակը նույնպես չի ներառում data-bs-rideհատկանիշը և ունի data-bs-interval="false"այնպես, որ այն ավտոմատ կերպով չի նվագարկվում:

<div id="carouselExampleControlsNoTouching" class="carousel slide" data-bs-touch="false" data-bs-interval="false">
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img src="..." class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item">
      <img src="..." class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item">
      <img src="..." class="d-block w-100" alt="...">
    </div>
  </div>
  <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleControlsNoTouching" data-bs-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Previous</span>
  </button>
  <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleControlsNoTouching" data-bs-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Next</span>
  </button>
</div>

Մուգ տարբերակ

Ավելացրե՛ք մուգ կառավարիչների .carousel-dark, .carouselցուցիչների և ենթագրերի համար: Վերահսկիչները շրջվել են իրենց լռելյայն սպիտակ լիցքից՝ filterCSS հատկությամբ: Ենթագրերը և վերահսկիչները ունեն լրացուցիչ Sass փոփոխականներ, որոնք հարմարեցնում են colorև background-color.

<div id="carouselExampleDark" class="carousel carousel-dark slide" data-bs-ride="carousel">
  <div class="carousel-indicators">
    <button type="button" data-bs-target="#carouselExampleDark" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
    <button type="button" data-bs-target="#carouselExampleDark" data-bs-slide-to="1" aria-label="Slide 2"></button>
    <button type="button" data-bs-target="#carouselExampleDark" data-bs-slide-to="2" aria-label="Slide 3"></button>
  </div>
  <div class="carousel-inner">
    <div class="carousel-item active" data-bs-interval="10000">
      <img src="..." class="d-block w-100" alt="...">
      <div class="carousel-caption d-none d-md-block">
        <h5>First slide label</h5>
        <p>Some representative placeholder content for the first slide.</p>
      </div>
    </div>
    <div class="carousel-item" data-bs-interval="2000">
      <img src="..." class="d-block w-100" alt="...">
      <div class="carousel-caption d-none d-md-block">
        <h5>Second slide label</h5>
        <p>Some representative placeholder content for the second slide.</p>
      </div>
    </div>
    <div class="carousel-item">
      <img src="..." class="d-block w-100" alt="...">
      <div class="carousel-caption d-none d-md-block">
        <h5>Third slide label</h5>
        <p>Some representative placeholder content for the third slide.</p>
      </div>
    </div>
  </div>
  <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleDark" data-bs-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Previous</span>
  </button>
  <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleDark" data-bs-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Next</span>
  </button>
</div>

Պատվերով անցում

Անցման տեւողությունը .carousel-itemկարող է փոխվել $carousel-transition-durationSass փոփոխականով նախքան կոմպիլյացիան կամ հարմարեցված ոճերը, եթե դուք օգտագործում եք կազմված CSS: Եթե ​​կիրառվում են մի քանի անցումներ, համոզվեք, որ փոխակերպման անցումը նախ սահմանված է (օր. transition: transform 2s ease, opacity .5s ease-out):

Սաս

Փոփոխականներ

$carousel-control-color:             $white;
$carousel-control-width:             15%;
$carousel-control-opacity:           .5;
$carousel-control-hover-opacity:     .9;
$carousel-control-transition:        opacity .15s ease;

$carousel-indicator-width:           30px;
$carousel-indicator-height:          3px;
$carousel-indicator-hit-area-height: 10px;
$carousel-indicator-spacer:          3px;
$carousel-indicator-opacity:         .5;
$carousel-indicator-active-bg:       $white;
$carousel-indicator-active-opacity:  1;
$carousel-indicator-transition:      opacity .6s ease;

$carousel-caption-width:             70%;
$carousel-caption-color:             $white;
$carousel-caption-padding-y:         1.25rem;
$carousel-caption-spacer:            1.25rem;

$carousel-control-icon-width:        2rem;

$carousel-control-prev-icon-bg:      url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>");
$carousel-control-next-icon-bg:      url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>");

$carousel-transition-duration:       .6s;
$carousel-transition:                transform $carousel-transition-duration ease-in-out; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)

$carousel-dark-indicator-active-bg:  $black;
$carousel-dark-caption-color:        $black;
$carousel-dark-control-icon-filter:  invert(1) grayscale(100);

Օգտագործումը

Տվյալների ատրիբուտների միջոցով

Օգտագործեք տվյալների ատրիբուտներ՝ կարուսելի դիրքը հեշտությամբ կառավարելու համար: data-bs-slideընդունում է հիմնաբառերը prevկամ next, որը փոխում է սլայդի դիրքը ներկայիս դիրքի համեմատ: Որպես այլընտրանք, օգտագործեք data-bs-slide-to՝ չմշակված սլայդի ինդեքսը կարուսելին փոխանցելու համար data-bs-slide-to="2", որը սլայդի դիրքը տեղափոխում է որոշակի ինդեքսի՝ սկսած 0.

Հատկանիշն data-bs-ride="carousel"օգտագործվում է կարուսելը որպես աշխույժ նշելու համար՝ սկսած էջի բեռնումից: Եթե ​​դուք չեք օգտագործում data-bs-ride="carousel"ձեր կարուսելը սկզբնավորելու համար, դուք պետք է ինքներդ նախաստորագրեք այն: Այն չի կարող օգտագործվել նույն կարուսելի (ավելորդ և անհարկի) բացահայտ JavaScript սկզբնավորման հետ համատեղ:

JavaScript-ի միջոցով

Ձեռքով զանգահարեք կարուսել՝

var myCarousel = document.querySelector('#myCarousel')
var carousel = new bootstrap.Carousel(myCarousel)

Ընտրանքներ

Ընտրանքները կարող են փոխանցվել տվյալների ատրիբուտների կամ JavaScript-ի միջոցով: Տվյալների ատրիբուտների համար ավելացրեք տարբերակի անունը data-bs-, ինչպես data-bs-interval="".

Անուն Տիպ Կանխադրված Նկարագրություն
interval թիվ 5000 Ժամանակի չափը, որը հետաձգվում է ապրանքի ինքնաբերաբար հեծանվավարման միջև: Եթե false​​, կարուսելը ինքնաբերաբար չի շրջվի:
keyboard բուլյան true Արդյոք կարուսելը պետք է արձագանքի ստեղնաշարի իրադարձություններին:
pause լարային | բուլյան 'hover'

Եթե ​​դրված է 'hover', ապա դադարեցնում է կարուսելի հեծանիվը միացված mouseenterև վերսկսում է կարուսելի հեծանիվը միացված mouseleave: Եթե ​​դրված է false, ապա սավառնելով կարուսելի վրա այն չի դադարեցնի:

Հպման հնարավորություն ունեցող սարքերում, երբ դրված է 'hover', հեծանիվը կդադարեցվի touchend(երբ օգտատերը կավարտի կարուսելի հետ շփումը) երկու ընդմիջումով, նախքան ավտոմատ վերսկսումը: Նկատի ունեցեք, որ սա ի լրումն է մկնիկի վերը նշված վարքագծին:

ride լարային | բուլյան false Ավտոմատ նվագարկում է կարուսելը այն բանից հետո, երբ օգտատերը ձեռքով շրջում է առաջին տարրը: Եթե ​​դրված է 'carousel', ապա ավտոմատ նվագարկում է կարուսելը բեռնման ժամանակ:
wrap բուլյան true Արդյոք կարուսելը պետք է անընդհատ պտտվի, թե կոշտ կանգառներ ունենա:
touch բուլյան true Արդյո՞ք կարուսելը պետք է աջակցի սենսորային էկրանով սարքերի վրա ձախ/աջ սահեցման փոխազդեցությունները:

Մեթոդներ

Ասինխրոն մեթոդներ և անցումներ

Բոլոր API մեթոդները ասինխրոն են և սկսում են անցում : Նրանք վերադառնում են զանգահարողին հենց որ անցումը սկսվի, բայց մինչև այն ավարտվի : Բացի այդ, անցումային բաղադրիչի վրա մեթոդի կանչը անտեսվելու է :

Լրացուցիչ տեղեկությունների համար տես մեր JavaScript փաստաթղթերը :

Կարուսելի կոնստրուկտորով կարող եք ստեղծել կարուսելի օրինակ, օրինակ՝ լրացուցիչ ընտրանքներով սկզբնավորելու և տարրերի միջով անցնելու համար.

var myCarousel = document.querySelector('#myCarousel')
var carousel = new bootstrap.Carousel(myCarousel, {
  interval: 2000,
  wrap: false
})
Մեթոդ Նկարագրություն
cycle Շրջում է կարուսելի իրերի միջով ձախից աջ:
pause Դադարեցնում է կարուսելը իրերի միջով հեծանիվ անցնելուց:
prev Ցիկլեր դեպի նախորդ կետը: Վերադառնում է զանգահարողին, նախքան նախորդ տարրի ցուցադրումը (օրինակ՝ մինչև slid.bs.carouselիրադարձությունը տեղի ունենալը):
next Շրջագայություններ դեպի հաջորդ կետ: Վերադառնում է զանգահարողին մինչև հաջորդ տարրի ցուցադրումը (օրինակ՝ մինչև slid.bs.carouselիրադարձության տեղի ունենալը):
nextWhenVisible Կարուսելը մի տեղափոխեք հաջորդը, երբ էջը տեսանելի չէ կամ կարուսելը կամ դրա մայրը տեսանելի չէ: Վերադառնում է զանգահարողին՝ նախքան թիրախային տարրը ցուցադրելը
to Կարուսելը տեղափոխում է որոշակի շրջանակ (0-ի վրա հիմնված, զանգվածի նման): Վերադառնում է զանգահարողին՝ նախքան թիրախային տարրը ցուցադրելը (օրինակ՝ մինչև slid.bs.carouselիրադարձությունը տեղի ունենալը):
dispose Ոչնչացնում է տարրի կարուսելը: (Հեռացնում է DOM տարրի վրա պահված տվյալները)
getInstance Ստատիկ մեթոդ, որը թույլ է տալիս ստանալ DOM տարրի հետ կապված կարուսելի օրինակը, կարող եք օգտագործել այն այսպես.bootstrap.Carousel.getInstance(element)
getOrCreateInstance Ստատիկ մեթոդ, որը վերադարձնում է կարուսելի օրինակ՝ կապված DOM տարրի հետ կամ ստեղծում է նորը, եթե այն նախաստորագրված չէ: Դուք կարող եք օգտագործել այն այսպես.bootstrap.Carousel.getOrCreateInstance(element)

Իրադարձություններ

Bootstrap-ի կարուսելի դասը բացահայտում է երկու իրադարձություն՝ կարուսելի ֆունկցիոնալությանը միանալու համար: Երկու իրադարձություններն ունեն հետևյալ լրացուցիչ հատկությունները.

  • directionՈւղղությունը, որով սահում է կարուսելը (կամ "left"կամ "right"):
  • relatedTargetDOM տարրը, որը սահում է իր տեղը որպես ակտիվ տարր:
  • fromԸնթացիկ տարրի ինդեքսը
  • toՀաջորդ կետի ինդեքսը

Կարուսելի բոլոր իրադարձությունները կրակում են հենց կարուսելի վրա (այսինքն՝ <div class="carousel">):

Միջոցառման տեսակը Նկարագրություն
slide.bs.carousel Հրդեհվում է անմիջապես, երբ գործարկվում է slideօրինակի մեթոդը:
slid.bs.carousel Գործարկվել է, երբ կարուսելը ավարտել է իր սլայդային անցումը:
var myCarousel = document.getElementById('myCarousel')

myCarousel.addEventListener('slide.bs.carousel', function () {
  // do something...
})