Source

Կարուսել

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

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

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

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

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

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

Ի վերջո, եթե դուք կառուցում եք մեր JavaScript-ը աղբյուրից, դա պահանջում էutil.js :

Օրինակ

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

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

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

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

<div id="carouselExampleSlidesOnly" class="carousel slide" data-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>

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

Ավելացնելով նախորդ և հաջորդ հսկիչները.

<div id="carouselExampleControls" class="carousel slide" data-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>
  <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 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>
  <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>

Crossfade

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

<div id="carouselExampleFade" class="carousel slide carousel-fade" data-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>
  <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-interval=""a- .carousel-itemին՝ հաջորդ տարրը ավտոմատ կերպով հեծանվով անցնելու միջև ուշացման ժամանակը փոխելու համար:

<div id="carouselExampleInterval" class="carousel slide" data-ride="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active" data-interval="10000">
      <img src="..." class="d-block w-100" alt="...">
    </div>
    <div class="carousel-item" data-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>
  <a class="carousel-control-prev" href="#carouselExampleInterval" 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="#carouselExampleInterval" 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ընդունում է հիմնաբառերը prevկամ next, որը փոխում է սլայդի դիրքը ներկայիս դիրքի համեմատ: Որպես այլընտրանք, օգտագործեք data-slide-to՝ չմշակված սլայդի ինդեքսը կարուսելին փոխանցելու համար data-slide-to="2", որը սլայդի դիրքը տեղափոխում է որոշակի ինդեքսի՝ սկսած 0.

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

JavaScript-ի միջոցով

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

$('.carousel').carousel()

Ընտրանքներ

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

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

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

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

քշել լար կեղծ Ավտոմատ նվագարկում է կարուսելը այն բանից հետո, երբ օգտատերը ձեռքով շրջում է առաջին տարրը: Եթե ​​«կարուսել», ապա ավտոմատ նվագարկում է կարուսելը բեռնվածության վրա:
պատել բուլյան ճիշտ Արդյոք կարուսելը պետք է անընդհատ պտտվի, թե կոշտ կանգառներ ունենա:
հպում բուլյան ճիշտ Արդյո՞ք կարուսելը պետք է աջակցի սենսորային էկրանով սարքերի վրա ձախ/աջ սահեցման փոխազդեցությունները:

Մեթոդներ

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

Բոլոր 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')

Ոչնչացնում է տարրի կարուսելը:

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

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

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

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

Միջոցառման տեսակը Նկարագրություն
slide.bs.կարուսել Այս իրադարձությունն անմիջապես գործարկվում է, երբ գործարկվում է slideօրինակի մեթոդը:
slid.bs.կարուսել Այս միջոցառումը գործարկվում է, երբ կարուսելը ավարտում է իր սլայդային անցումը:
$('#myCarousel').on('slide.bs.carousel', function () {
  // do something…
})

Փոխել անցման տևողությունը

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