Hringekja
Skyggnusýningarhluti til að hjóla í gegnum þætti—myndir eða textaskyggnur—eins og hringekju.
Hvernig það virkar
Hringekjan er myndasýning til að hjóla í gegnum röð af efni, byggð með CSS 3D umbreytingum og smá JavaScript. Það virkar með röð mynda, texta eða sérsniðinna merkingar. Það felur einnig í sér stuðning við fyrri/næstu stýringar og vísbendingar.
Í vöfrum þar sem Page Visibility API er studd mun hringekjan forðast að renna þegar vefsíðan er ekki sýnileg notandanum (svo sem þegar vafraflipi er óvirkur, vafraglugginn er lágmarkaður o.s.frv.).
prefers-reduced-motion
miðlunarfyrirspurninni. Sjá
kaflann um minni hreyfingu í aðgengisskjölunum okkar .
Vinsamlegast hafðu í huga að hreiður hringekjur eru ekki studdar og hringekjur eru almennt ekki í samræmi við aðgengisstaðla.
Að lokum, ef þú ert að byggja JavaScript okkar frá uppruna, krefstutil.js
það .
Dæmi
Hringekjur staðla ekki sjálfkrafa stærð skyggnu. Sem slík gætirðu þurft að nota viðbótartól eða sérsniðna stíla til að stærð innihalds á viðeigandi hátt. Þó hringekjur styðji fyrri/næstu stýringar og vísbendingar, þá er ekki beinlínis krafist þeirra. Bættu við og sérsníddu eins og þér sýnist.
Bæta .active
þarf bekknum við eina af glærunum annars sést hringekjan ekki. Vertu líka viss um að stilla einstakt id
á .carousel
fyrir valfrjálsa stýringar, sérstaklega ef þú ert að nota margar hringekjur á einni síðu. Stýri- og vísirþættir verða að hafa data-target
eigind (eða href
fyrir tengla) sem passar id
við .carousel
þáttinn.
Aðeins skyggnur
Hér er hringekja með rennibrautum eingöngu. Athugaðu tilvist .d-block
og .w-100
á hringekjumyndum til að koma í veg fyrir sjálfgefna myndröðun vafra.
<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>
Með stjórntækjum
Bætir við fyrri og næstu stjórntækjum. Við mælum með því að nota <button>
þætti, en þú getur líka notað <a>
þætti með 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>
Með vísa
Þú getur líka bætt vísunum við hringekjuna ásamt stjórntækjunum líka.
<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>
Með myndatexta
Bættu texta við skyggnurnar þínar auðveldlega með .carousel-caption
þættinum í hvaða .carousel-item
. Auðvelt er að fela þær á minni útsýnisgáttum, eins og sýnt er hér að neðan, með valfrjálsum skjátólum . Við felum þá fyrst með .d-none
og færum þá aftur á meðalstór tæki með .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
Bættu .carousel-fade
við hringekjuna þína til að lífga skyggnur með dofnabreytingum í stað skyggnu. Það fer eftir innihaldi hringekjunnar (td skyggnur eingöngu með texta), gætirðu viljað bæta við .bg-body
eða sérsniðnum CSS við .carousel-item
s til að fá rétta yfirlitun.
<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>
Einstaklingsbil .carousel-item
_
Bættu data-interval=""
við a .carousel-item
til að breyta tímanum sem fresta á milli þess að hjóla sjálfkrafa yfir í næsta atriði.
<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>
Slökktu á snertistrikun
Hringekja styðja að strjúka til vinstri/hægri á snertiskjátækjum til að fara á milli skyggna. Þetta er hægt að slökkva á með því að nota data-touch
eigindina. Dæmið hér að neðan inniheldur heldur ekki data-ride
eiginleikann og hefur data-interval="false"
svo það spilar ekki sjálfvirkt.
<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>
Notkun
Í gegnum gagnaeiginleika
Notaðu gagnaeiginleika til að stjórna staðsetningu hringekjunnar auðveldlega. data-slide
samþykkir lykilorðin prev
eða next
, sem breytir staðsetningu skyggnunnar miðað við núverandi staðsetningu. Að öðrum kosti er hægt að nota data-slide-to
til að senda hráa skyggnuvísitölu í hringekjuna data-slide-to="2"
, sem færir skyggnustöðuna yfir á tiltekna vísitölu sem byrjar á 0
.
Eigindin data-ride="carousel"
er notuð til að merkja hringekju sem hreyfimynd frá og með hleðslu síðu. Ef þú notar ekki data-ride="carousel"
til að frumstilla hringekjuna þína þarftu að frumstilla hana sjálfur. Það er ekki hægt að nota það ásamt (óþarfi og óþarfa) skýrri JavaScript frumstillingu á sömu hringekjunni.
Með JavaScript
Hringdu handvirkt í hringekju með:
$('.carousel').carousel()
Valmöguleikar
Hægt er að senda valkosti í gegnum gagnaeiginleika eða JavaScript. Fyrir gagnaeiginleika skaltu bæta heiti valkostsins við data-
, eins og í data-interval=""
.
Nafn | Tegund | Sjálfgefið | Lýsing |
---|---|---|---|
bil | númer | 5000 | Tíminn sem líður á milli þess að hlutur er hjólaður sjálfkrafa. Ef false , hringekja ekki sjálfkrafa hringrás. |
lyklaborð | Boolean | satt | Hvort hringekjan eigi að bregðast við lyklaborðsviðburðum. |
hlé | strengur | Boolean | 'sveima' | Ef stillt er á Á snertitækjum, þegar stillt er á |
hjóla | strengur | rangt | Spilar hringekjuna sjálfkrafa eftir að notandinn hefur valið fyrsta atriðið handvirkt. Ef stillt er á 'carousel' spilar hringekjuna sjálfkrafa við hleðslu. |
vefja | Boolean | satt | Hvort hringekjan ætti að hjóla stöðugt eða hafa erfið stopp. |
snerta | Boolean | satt | Hvort hringekjan ætti að styðja við strjúktu til vinstri/hægri á snertiskjátækjum. |
Aðferðir
Ósamstilltar aðferðir og umskipti
Allar API aðferðir eru ósamstilltar og hefja umskipti . Þeir snúa aftur til þess sem hringir um leið og umskiptin eru hafin en áður en þeim lýkur . Að auki verður aðferðakall á umbreytingarhluta hunsað .
.carousel(options)
Frumstillir hringekjuna með valkvæðum valkostum object
og byrjar að hjóla í gegnum hluti.
$('.carousel').carousel({
interval: 2000
})
.carousel('cycle')
Hringur í gegnum hringekjuhlutina frá vinstri til hægri.
.carousel('pause')
Kemur í veg fyrir að hringekjan hjóli í gegnum hluti.
.carousel(number)
Hringir hringekjuna að tilteknum ramma (miðað við 0, svipað og fylki). Snýr aftur til þess sem hringir áður en markatriðið hefur verið sýnt (þ.e. áður en slid.bs.carousel
atburðurinn á sér stað).
.carousel('prev')
Fer að fyrra atriði. Snýr aftur til þess sem hringir áður en fyrri hluturinn hefur verið sýndur (þ.e. áður en slid.bs.carousel
atburðurinn á sér stað).
.carousel('next')
Fer í næsta atriði. Snýr aftur til þess sem hringir áður en næsta atriði hefur verið sýnt (þ.e. áður en slid.bs.carousel
atburðurinn á sér stað).
.carousel('dispose')
Eyðileggur hringekju frumefnis.
.carousel('nextWhenVisible')
Ekki hjóla hringekjuna á næstu þegar síðan er ekki sýnileg eða hringekjan eða foreldri hennar er ekki sýnileg. Snýr aftur til þess sem hringir áður en næsta atriði hefur verið sýnt (þ.e. áður en slid.bs.carousel
atburðurinn á sér stað).
.carousel('to')
Hringir hringekjuna að tilteknum ramma (miðað við 0, svipað og fylki). Snýr aftur til þess sem hringir áður en næsta atriði hefur verið sýnt (þ.e. áður en slid.bs.carousel
atburðurinn á sér stað).
Viðburðir
Hringekjuflokkur Bootstrap afhjúpar tvo atburði til að tengjast hringekjuvirkni. Báðir viðburðir hafa eftirfarandi viðbótareiginleika:
direction
: Sú átt sem hringekjan rennur í (annaðhvort"left"
eða"right"
).relatedTarget
: DOM-einingunni sem verið er að renna á sinn stað sem virki hluturinn.from
: Vísitalan á núverandi liðto
: Vísitalan á næsta lið
Allir hringekjuviðburðir eru skotnir á hringekjuna sjálfa (þ.e. á <div class="carousel">
).
Tegund atburðar | Lýsing |
---|---|
rennibraut.bs.hringekja | Þessi atburður ræsir strax þegar slide tilviksaðferðin er kölluð fram. |
renna.bs.hringekja | Þessi atburður er ræstur þegar hringekjan hefur lokið rennibraut sinni. |
$('#myCarousel').on('slide.bs.carousel', function () {
// do something...
})
Breyta tímalengd umskipta
Hægt .carousel-item
er að breyta umbreytingartímanum með $carousel-transition
Sass breytunni áður en þú safnar saman eða sérsniðnum stílum ef þú ert að nota samansetta CSS. Ef mörgum umbreytingum er beitt skaltu ganga úr skugga um að umbreytingin sé skilgreind fyrst (td transition: transform 2s ease, opacity .5s ease-out
).