Կարուսել
Սլայդերի ցուցադրման բաղադրիչ տարրերի (պատկերների կամ տեքստի սլայդների) միջով անցնելու համար, ինչպես կարուսելը:
Ինչպես է դա աշխատում
Կարուսելը սլայդ շոու է մի շարք բովանդակության միջով հեծանվով անցնելու համար, որը կառուցված է CSS 3D տրանսֆորմացիաներով և մի քիչ JavaScript-ով: Այն աշխատում է մի շարք պատկերների, տեքստի կամ հատուկ նշագրման հետ: Այն նաև ներառում է աջակցություն նախորդ/հաջորդ վերահսկման և ցուցիչների համար:
Բրաուզերներում, որտեղ աջակցվում է Page Visibility API- ն, կարուսելը կխուսափի սահումից, երբ վեբ էջը տեսանելի չէ օգտատիրոջը (օրինակ, երբ դիտարկիչի ներդիրն ակտիվ չէ, դիտարկիչի պատուհանը նվազագույնի է հասցված և այլն):
prefers-reduced-motion
լրատվամիջոցների հարցումից: Տեսեք
մեր մատչելիության փաստաթղթերի կրճատված շարժման բաժինը :
Խնդրում ենք նկատի ունենալ, որ տեղադրված կարուսելները չեն աջակցվում, և կարուսելները սովորաբար չեն համապատասխանում մատչելիության չափանիշներին:
Ի վերջո, եթե դուք կառուցում եք մեր JavaScript-ը աղբյուրից, դա պահանջում էutil.js
:
Օրինակ
Կարուսելները ավտոմատ կերպով չեն նորմալացնում սլայդի չափերը: Որպես այդպիսին, ձեզ կարող է անհրաժեշտ լինել օգտագործել լրացուցիչ կոմունալ ծառայություններ կամ հատուկ ոճեր՝ համապատասխան չափի բովանդակության համար: Թեև կարուսելներն աջակցում են նախորդ/հաջորդ հսկիչները և ցուցիչները, դրանք բացահայտորեն պարտադիր չեն: Ավելացրեք և հարմարեցրեք այնպես, ինչպես հարմար եք գտնում:
Դասարանը պետք է .active
ավելացվի սլայդներից մեկում, հակառակ դեպքում կարուսելը չի երևա: id
Նաև վստահ եղեք, որ ընտրովի հսկիչների վրա եզակի եք սահմանել .carousel
, հատկապես, եթե մեկ էջի վրա մի քանի կարուսել եք օգտագործում: Վերահսկիչ և ցուցիչ տարրերը պետք է ունենան data-target
հատկանիշ (կամ href
հղումների համար), որը համապատասխանում id
է .carousel
տարրի հատկանիշին:
Միայն սլայդներ
Ահա կարուսել միայն սլայդներով: Նկատի ունեցեք կարուսելի .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>
Վերահսկիչներով
Ավելացվում է նախորդ և հաջորդ հսկիչները: Մենք խորհուրդ ենք տալիս օգտագործել <button>
տարրեր, բայց դուք կարող եք նաև օգտագործել <a>
տարրեր role="button"
.
<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>
<button class="carousel-control-prev" type="button" data-target="#carouselExampleControls" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-target="#carouselExampleControls" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</button>
</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>
<button class="carousel-control-prev" type="button" data-target="#carouselExampleIndicators" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-target="#carouselExampleIndicators" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</button>
</div>
Վերնագրերով
Հեշտությամբ ավելացրեք ենթագրեր ձեր սլայդներին՝ օգտագործելով .carousel-caption
որևէ տարր .carousel-item
: Դրանք կարող են հեշտությամբ թաքցվել ավելի փոքր տեսադաշտերում, ինչպես ցույց է տրված ստորև, ընտրովի ցուցադրման կոմունալ ծառայություններով : Մենք դրանք սկզբում թաքցնում ենք .d-none
և հետ ենք բերում միջին չափի սարքերի վրա .d-md-block
:
<div id="carouselExampleCaptions" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carouselExampleCaptions" data-slide-to="0" class="active"></li>
<li data-target="#carouselExampleCaptions" data-slide-to="1"></li>
<li data-target="#carouselExampleCaptions" data-slide-to="2"></li>
</ol>
<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-target="#carouselExampleCaptions" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-target="#carouselExampleCaptions" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</button>
</div>
Crossfade
Ավելացրե՛ք .carousel-fade
ձեր կարուսելին՝ սլայդի փոխարեն սլայդները աշխուժացնելու համար խունացած անցումով: Կախված ձեր կարուսելի բովանդակությունից (օրինակ՝ միայն տեքստային սլայդներ), դուք կարող եք ցանկանալ ավելացնել .bg-body
կամ որոշ հատուկ CSS- .carousel-item
ներ s-ում՝ համապատասխան խաչաձեւման համար:
<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>
<button class="carousel-control-prev" type="button" data-target="#carouselExampleFade" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-target="#carouselExampleFade" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</button>
</div>
Անհատական .carousel-item
ընդմիջում
Ավելացրե՛ք 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>
<button class="carousel-control-prev" type="button" data-target="#carouselExampleInterval" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-target="#carouselExampleInterval" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</button>
</div>
Անջատել հպումով սահեցնելը
Կարուսելներն աջակցում են սենսորային էկրանով սարքերի վրա սահել ձախ/աջ՝ սլայդների միջև շարժվելու համար: Սա կարելի է անջատել՝ օգտագործելով data-touch
հատկանիշը: Ստորև բերված օրինակը նույնպես չի ներառում data-ride
հատկանիշը և ունի data-interval="false"
այնպես, որ այն ավտոմատ կերպով չի նվագարկվում:
<div id="carouselExampleControlsNoTouching" class="carousel slide" data-touch="false" data-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-target="#carouselExampleControlsNoTouching" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-target="#carouselExampleControlsNoTouching" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</button>
</div>
Օգտագործումը
Տվյալների ատրիբուտների միջոցով
Օգտագործեք տվյալների ատրիբուտներ՝ կարուսելի դիրքը հեշտությամբ կառավարելու համար: data-slide
ընդունում է հիմնաբառերը prev
կամ next
, որը փոխում է սլայդի դիրքը ներկայիս դիրքի համեմատ: Որպես այլընտրանք, օգտագործեք data-slide-to
՝ չմշակված սլայդի ինդեքսը կարուսելին փոխանցելու համար data-slide-to="2"
, որը սլայդի դիրքը տեղափոխում է որոշակի ինդեքսի՝ սկսած 0
.
Հատկանիշն data-ride="carousel"
օգտագործվում է կարուսելը որպես աշխույժ նշելու համար՝ սկսած էջի բեռնումից: Եթե դուք չեք օգտագործում data-ride="carousel"
ձեր կարուսելը սկզբնավորելու համար, դուք պետք է ինքներդ նախաստորագրեք այն: Այն չի կարող օգտագործվել նույն կարուսելի (ավելորդ և անհարկի) բացահայտ JavaScript սկզբնավորման հետ համատեղ:
JavaScript-ի միջոցով
Ձեռքով զանգահարեք կարուսել՝
$('.carousel').carousel()
Ընտրանքներ
Ընտրանքները կարող են փոխանցվել տվյալների ատրիբուտների կամ JavaScript-ի միջոցով: Տվյալների ատրիբուտների համար ավելացրեք տարբերակի անունը data-
, ինչպես data-interval=""
.
Անուն | Տիպ | Կանխադրված | Նկարագրություն |
---|---|---|---|
ընդմիջում | թիվ | 5000 | Ժամանակի չափը, որը հետաձգվում է ապրանքի ինքնաբերաբար հեծանիվ վարելու միջև: Եթե false , կարուսելը ինքնաբերաբար չի շրջվի: |
ստեղնաշար | բուլյան | ճիշտ | Արդյոք կարուսելը պետք է արձագանքի ստեղնաշարի իրադարձություններին: |
դադար | լարային | բուլյան | 'սավառնել' | Եթե դրված է Հպումով միացված սարքերում, երբ դրված է |
քշել | լար | կեղծ | Ավտոմատ նվագարկում է կարուսելը այն բանից հետո, երբ օգտատերը ձեռքով շրջում է առաջին տարրը: Եթե դրված է '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('nextWhenVisible')
Մի տեղափոխեք կարուսելը հաջորդին, երբ էջը տեսանելի չէ կամ կարուսելը կամ դրա մայրը տեսանելի չէ: Վերադառնում է զանգահարողին մինչև հաջորդ տարրի ցուցադրումը (այսինքն՝ նախքան slid.bs.carousel
իրադարձությունը տեղի ունենալը):
.carousel('to')
Կարուսելը տեղափոխում է որոշակի շրջանակ (0-ի վրա հիմնված, զանգվածի նման): Վերադառնում է զանգահարողին մինչև հաջորդ տարրի ցուցադրումը (այսինքն՝ նախքան slid.bs.carousel
իրադարձությունը տեղի ունենալը):
Իրադարձություններ
Bootstrap-ի կարուսելի դասը բացահայտում է երկու իրադարձություն՝ կարուսելի ֆունկցիոնալությանը միանալու համար: Երկու իրադարձություններն ունեն հետևյալ լրացուցիչ հատկությունները.
direction
Ուղղությունը, որով սահում է կարուսելը (կամ"left"
կամ"right"
):relatedTarget
DOM տարրը, որը սահում է իր տեղը որպես ակտիվ տարր:from
Ընթացիկ տարրի ինդեքսըto
Հաջորդ կետի ինդեքսը
Կարուսելի բոլոր իրադարձությունները կրակում են հենց կարուսելի վրա (այսինքն՝ <div class="carousel">
):
Միջոցառման տեսակը | Նկարագրություն |
---|---|
slide.bs.կարուսել | Այս իրադարձությունն անմիջապես գործարկվում է, երբ գործարկվում է slide օրինակի մեթոդը: |
slid.bs.կարուսել | Այս միջոցառումը գործարկվում է, երբ կարուսելը ավարտում է իր սլայդային անցումը: |
$('#myCarousel').on('slide.bs.carousel', function () {
// do something...
})
Փոխել անցման տևողությունը
Անցման տեւողությունը .carousel-item
կարող է փոխվել $carousel-transition
Sass փոփոխականով նախքան կոմպիլյացիան կամ հարմարեցված ոճերը, եթե դուք օգտագործում եք կազմված CSS: Եթե կիրառվում են մի քանի անցումներ, համոզվեք, որ փոխակերպման անցումը նախ սահմանված է (օր. transition: transform 2s ease, opacity .5s ease-out
):