Karussell
Slaidiseansi komponent elementide (piltide või tekstislaidide) vahel liikumiseks nagu karussell.
Kuidas see töötab
Karussell on CSS-i 3D-teisenduste ja natukese JavaScripti abil üles ehitatud slaidiseanss, mis võimaldab liikuda läbi sisusarja. See töötab piltide, teksti või kohandatud märgistusega. See hõlmab ka eelmiste/järgmiste juhtelementide ja indikaatorite tuge.
Brauserites, kus lehe nähtavuse API on toetatud, väldib karussell libisemist, kui veebileht pole kasutajale nähtav (nt kui brauseri vahekaart on passiivne, brauseriaken on minimeeritud jne).
prefers-reduced-motionmeediumipäringust. Vaadake
meie juurdepääsetavuse dokumentatsiooni vähendatud liikumise jaotist .
Pange tähele, et pesastatud karusselle ei toetata ja karussellid ei järgi üldiselt juurdepääsetavuse standardeid.
Näide
Karussellid ei normaliseeri automaatselt slaidi mõõtmeid. Seetõttu peate võib-olla kasutama täiendavaid utiliite või kohandatud stiile, et sisu sobivat suurust muuta. Kuigi karussellid toetavad eelmisi/järgmisi juhtelemente ja indikaatoreid, pole need otseselt nõutavad. Lisage ja kohandage oma äranägemise järgi.
Klass .activetuleb lisada ühele slaidile, muidu karusselli ei paista. Samuti määrake valikuliste juhtelementide jaoks kindlasti kordumatu id, .carouseleriti kui kasutate ühel lehel mitut karusselli. Juht- ja indikaatorelementidel peab olema data-bs-targetatribuut (või hreflinkide puhul), mis kattub idelemendi atribuudiga .carousel.
Ainult slaidid
Siin on ainult slaididega karussell. Pange tähele, et karussellikujutistel on tähised .d-blockja .w-100, et vältida brauseri kujutiste vaikejoondamist.
<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>
Juhtseadmetega
Eelmise ja järgmise juhtelemendi lisamine. Soovitame kasutada <button>elemente, kuid võite kasutada ka <a>elemente koos 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>
Näitajatega
Lisaks juhtnuppudele saate karussellile lisada ka indikaatoreid.
<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>
Koos pealdistega
Lisage oma slaididele hõlpsasti pealdisi .carousel-captionelemendiga mis tahes .carousel-item. Neid saab valikuliste kuvautiliitidega hõlpsasti väiksematesse vaateavadesse peita, nagu allpool näidatud . Peidame need algselt rakendusega .d-noneja toome need tagasi keskmise suurusega seadmetele .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
Lisage .carousel-fadeoma karusselli, et animeerida slaide slaidi asemel tuhmumise üleminekuga.
<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>
Individuaalne .carousel-itemintervall
Lisage data-bs-interval=""a .carousel-item-sse, et muuta aega, mis kulub automaatselt järgmise üksuseni liikumise vahel.
<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>
Keela puutega pühkimine
Karussellid toetavad puuteekraaniga seadmetes slaidide vahel liikumiseks vasakule/paremale libistamist. Selle saab data-bs-touchatribuudi abil keelata. Allolev näide ei sisalda samuti data-bs-rideatribuuti ja data-bs-interval="false"seda ei esitata automaatselt.
<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>
Tume variant
Tumedamate juhtnuppude, indikaatorite ja tiitrite jaoks lisage .carousel-darksellele . Juhtelemendid on vaikimisi valgest täidisest CSS-i atribuudiga .carouselümber pööratud . filterTiitritel ja juhtelementidel on täiendavad Sassi muutujad, mis kohandavad colorja 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>
Kohandatud üleminek
Ülemineku kestust .carousel-itemsaab muuta $carousel-transition-durationSassi muutujaga enne kompileerimist või kohandatud stiilidega, kui kasutate kompileeritud CSS-i. Kui rakendatakse mitut üleminekut, veenduge, et teisendusüleminek oleks kõigepealt määratletud (nt transition: transform 2s ease, opacity .5s ease-out).
Sass
Muutujad
$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);
Kasutamine
Andmeatribuutide kaudu
Kasutage karusselli asukoha hõlpsaks juhtimiseks andmeatribuute. data-bs-slideaktsepteerib märksõnu prevvõi next, mis muudab slaidi asukohta selle praeguse asukoha suhtes. Teise võimalusena kasutage data-bs-slide-totöötlemata slaidiindeksi edastamiseks karussellile data-bs-slide-to="2", mis nihutab slaidi positsiooni konkreetsele registrile, mis algab tähega 0.
Atribuuti data-bs-ride="carousel"kasutatakse karusselli märgistamiseks animeerivaks alates lehe laadimisest. Kui te ei kasuta data-bs-ride="carousel"oma karusselli lähtestamiseks, peate selle ise lähtestama. Seda ei saa kasutada koos (liigse ja mittevajaliku) selgesõnalise JavaScripti lähtestamisega sama karusselli puhul.
JavaScripti kaudu
Helistage karusselli käsitsi, kasutades:
var myCarousel = document.querySelector('#myCarousel')
var carousel = new bootstrap.Carousel(myCarousel)
Valikud
Valikud saab edastada andmeatribuutide või JavaScripti kaudu. Andmeatribuutide jaoks lisage valiku nimi data-bs-, nagu data-bs-interval="".
| Nimi | Tüüp | Vaikimisi | Kirjeldus |
|---|---|---|---|
interval |
number | 5000 |
Aeg, mis kulub üksuse automaatse tsükli vahel. Kui false, ei käivitu karussell automaatselt. |
keyboard |
tõeväärtus | true |
Kas karussell peaks reageerima klaviatuurisündmustele. |
pause |
string | tõeväärtus | 'hover' |
Kui see on seatud Puutetundlike seadmete |
ride |
string | tõeväärtus | false |
Esitab karusselli automaatselt pärast seda, kui kasutaja on esimese üksuse käsitsi tsüklistanud. Kui see on määratud 'carousel', esitab karusselli laadimisel automaatselt. |
wrap |
tõeväärtus | true |
Kas karussell peaks pidevalt tiirlema või peaks olema raskeid peatusi. |
touch |
tõeväärtus | true |
Kas karussell peaks toetama puuteekraaniga seadmetes vasakule/paremale pühkimist. |
meetodid
Asünkroonsed meetodid ja üleminekud
Kõik API meetodid on asünkroonsed ja alustavad üleminekut . Nad naasevad helistaja juurde kohe pärast ülemineku algust, kuid enne selle lõppu . Lisaks ignoreeritakse üleminekukomponendi meetodikutset .
Lisateabe saamiseks vaadake meie JavaScripti dokumentatsiooni .
Saate luua karusselli eksemplari näiteks karussellikonstruktoriga, et lähtestada lisavalikutega ja alustada üksuste vahel liikumist.
var myCarousel = document.querySelector('#myCarousel')
var carousel = new bootstrap.Carousel(myCarousel, {
interval: 2000,
wrap: false
})
| meetod | Kirjeldus |
|---|---|
cycle |
Liigub läbi karusselli üksuste vasakult paremale. |
pause |
Peatab karusselli esemete vahel liikumise. |
prev |
Liigub eelmise üksuse juurde. Naaseb helistaja juurde enne eelmise üksuse kuvamist (nt enne slid.bs.carouselsündmuse toimumist). |
next |
Liigub järgmise üksuse juurde. Naaseb helistaja juurde enne, kui järgmine üksus on näidatud (nt enne slid.bs.carouselsündmuse toimumist). |
nextWhenVisible |
Ärge liigutage karusselli järgmisele, kui leht pole nähtav või karussell või selle ülem pole nähtav. Naaseb helistaja juurde enne sihtüksuse kuvamist |
to |
Liigutab karusselli konkreetse kaadri juurde (0-põhine, sarnane massiiviga). Naaseb helistaja juurde enne sihtüksuse kuvamist (nt enne slid.bs.carouselsündmuse toimumist). |
dispose |
Hävitab elemendi karusselli. (Eemaldab DOM-elemendile salvestatud andmed) |
getInstance |
Staatiline meetod, mis võimaldab teil saada DOM-i elemendiga seotud karusselli eksemplari, saate seda kasutada järgmiselt:bootstrap.Carousel.getInstance(element) |
getOrCreateInstance |
Staatiline meetod, mis tagastab DOM-i elemendiga seotud karusselli eksemplari või loob uue, kui seda ei lähtestatud. Saate seda kasutada järgmiselt:bootstrap.Carousel.getOrCreateInstance(element) |
Sündmused
Bootstrapi karusselliklass paljastab kaks sündmust karusselli funktsioonidega liitumiseks. Mõlemal sündmusel on järgmised lisaomadused:
direction: suund, milles karussell libiseb (kas"left"või"right").relatedTarget: DOM-element, mis libistatakse aktiivse üksusena oma kohale.from: praeguse üksuse indeksto: järgmise üksuse register
Kõik karussellisündmused käivitatakse karusselli enda (st <div class="carousel">) suunas.
| Sündmuse tüüp | Kirjeldus |
|---|---|
slide.bs.carousel |
Käivitub kohe, kui slideeksemplari meetod käivitatakse. |
slid.bs.carousel |
Käivitatakse, kui karussell on slaidi ülemineku lõpetanud. |
var myCarousel = document.getElementById('myCarousel')
myCarousel.addEventListener('slide.bs.carousel', function () {
// do something...
})