Vrtiljak
Komponenta diaprojekcije za kroženje med elementi – slikami ali diapozitivi besedila – kot vrtiljak.
Kako deluje
Vrtiljak je diaprojekcija za kolesarjenje skozi vrsto vsebine, zgrajena s 3D-transformacijami CSS in malo JavaScripta. Deluje z vrsto slik, besedilom ali oznakami po meri. Vključuje tudi podporo za prejšnje/naslednje kontrole in indikatorje.
V brskalnikih, kjer je podprt API za vidnost strani , se bo vrtiljak izognil drsenju, ko spletna stran uporabniku ni vidna (na primer, ko je zavihek brskalnika neaktiven, okno brskalnika pomanjšano itd.).
Učinek animacije te komponente je odvisen od prefers-reduced-motion
medijske poizvedbe. Oglejte si razdelek o zmanjšanem gibanju v naši dokumentaciji o dostopnosti .
Zavedajte se, da ugnezdeni vrtiljaki niso podprti in da vrtiljaki na splošno niso skladni s standardi dostopnosti.
Nazadnje, če gradite naš JavaScript iz izvorne kode, zahtevautil.js
.
Primer
Vrtiljaki ne normalizirajo samodejno dimenzij diapozitivov. Zato boste morda morali uporabiti dodatne pripomočke ali sloge po meri za ustrezno velikost vsebine. Čeprav vrtiljaki podpirajo prejšnje/naslednje kontrole in indikatorje, niso izrecno potrebni. Dodajte in prilagodite, kot se vam zdi primerno.
Razred .active
je treba dodati enemu od diapozitivov, sicer vrtiljak ne bo viden. Prav tako ne pozabite nastaviti edinstvenega ID-ja .carousel
za izbirne kontrolnike, še posebej, če uporabljate več vrtiljakov na eni strani. Kontrolni in indikatorski elementi morajo imeti data-target
atribut (ali href
za povezave), ki se ujema z ID-jem .carousel
elementa.
Samo diapozitivi
Tukaj je vrtiljak samo z diapozitivi. Upoštevajte prisotnost slik .d-block
in .w-100
na vrtiljaku, da preprečite privzeto poravnavo slik brskalnika.
S krmilniki
Dodajanje prejšnjih in naslednjih kontrolnikov:
Z indikatorji
Indikatorje lahko dodate tudi na vrtiljak poleg kontrolnikov.
Z napisi
Svojim diapozitivom preprosto dodajte napise z .carousel-caption
elementom znotraj katerega koli .carousel-item
. Z izbirnimi prikazovalnimi pripomočki jih je mogoče enostavno skriti na manjših pogledih, kot je prikazano spodaj . Sprva jih skrijemo z .d-none
in jih na srednje velikih napravah vrnemo z .d-md-block
.
Crossfade
Dodajte .carousel-fade
na svoj vrtiljak, če želite animirati diapozitive z zbledelim prehodom namesto diapozitiva.
Individualni .carousel-item
interval
Dodajte data-interval=""
v a .carousel-item
, da spremenite količino časa za zakasnitev med samodejnim preklapljanjem na naslednji element.
Uporaba
Preko podatkovnih atributov
Uporabite atribute podatkov za preprost nadzor položaja vrtiljaka. data-slide
sprejme ključne besede prev
ali next
, ki spremenijo položaj diapozitiva glede na trenutni položaj. Druga možnost je, da uporabite data-slide-to
za posredovanje neobdelanega indeksa diapozitiva na vrtiljak data-slide-to="2"
, ki premakne položaj diapozitiva na določen indeks, ki se začne z 0
.
Atribut data-ride="carousel"
se uporablja za označevanje vrtiljaka kot animiranega, ki se začne ob nalaganju strani. Če svojega vrtiljaka ne uporabljate data-ride="carousel"
za inicializacijo, ga morate inicializirati sami. Ni ga mogoče uporabiti v kombinaciji z (odvečno in nepotrebno) eksplicitno inicializacijo JavaScript istega vrtiljaka.
Prek JavaScripta
Ročno pokličite vrtiljak z:
Opcije
Možnosti je mogoče posredovati prek podatkovnih atributov ali JavaScripta. Za atribute podatkov pripnite ime možnosti v data-
, kot v data-interval=""
.
Ime | Vrsta | Privzeto | Opis |
---|---|---|---|
interval | število | 5000 | Količina časa zakasnitve med samodejnim kroženjem elementa. Če je false, se vrtiljak ne bo samodejno vrtel. |
tipkovnico | logično | prav | Ali naj se vrtiljak odzove na dogodke na tipkovnici. |
pavza | niz | logično | "lebdeti" | Če je nastavljeno na Ko je na napravah z omogočenim dotikom nastavljeno na |
vožnja | vrvica | lažno | Samodejno predvaja vrtiljak, potem ko uporabnik ročno preklopi prvi element. Če je "vrtiljak", samodejno predvaja vrtiljak ob nalaganju. |
zaviti | logično | prav | Ali naj vrtiljak kroži neprekinjeno ali se mora močno ustaviti. |
dotik | logično | prav | Ali naj vrtiljak podpira interakcije s potegom levo/desno na napravah z zaslonom na dotik. |
Metode
Asinhrone metode in prehodi
Vse metode API so asinhrone in začnejo prehod . K klicatelju se vrnejo takoj, ko se prehod začne, vendar preden se konča . Poleg tega bo prezrt klic metode prehodne komponente .
Za več informacij si oglejte našo dokumentacijo JavaScript .
.carousel(options)
Inicializira vrtiljak z izbirnimi možnostmi object
in začne krožiti med elementi.
.carousel('cycle')
Kroži skozi elemente vrtiljaka od leve proti desni.
.carousel('pause')
Prepreči kroženje vrtiljaka med predmeti.
.carousel(number)
Preklopi vrtiljak na določen okvir (na osnovi 0, podobno matriki). Vrne se klicatelju, preden je prikazan ciljni element (tj. preden se slid.bs.carousel
zgodi dogodek).
.carousel('prev')
Cycles to the previous item. Returns to the caller before the previous item has been shown (i.e. before the slid.bs.carousel
event occurs).
.carousel('next')
Cycles to the next item. Returns to the caller before the next item has been shown (i.e. before the slid.bs.carousel
event occurs).
.carousel('dispose')
Destroys an element’s carousel.
Events
Bootstrap’s carousel class exposes two events for hooking into carousel functionality. Both events have the following additional properties:
direction
: The direction in which the carousel is sliding (either"left"
or"right"
).relatedTarget
: The DOM element that is being slid into place as the active item.from
: The index of the current itemto
: The index of the next item
All carousel events are fired at the carousel itself (i.e. at the <div class="carousel">
).
Event Type | Description |
---|---|
slide.bs.carousel | Ta dogodek se sproži takoj, ko slide je priklicana metoda primerka. |
slid.bs.carousel | Ta dogodek se sproži, ko vrtiljak zaključi prehod diapozitivov. |
Spremenite trajanje prehoda
Trajanje prehoda .carousel-item
lahko spremenite s $carousel-transition
spremenljivko Sass pred prevajanjem ali slogi po meri, če uporabljate preveden CSS. Če je uporabljenih več prehodov, se prepričajte, da je najprej definiran prehod transformacije (npr. transition: transform 2s ease, opacity .5s ease-out
).