in English

Karuselo

Bildprezenta komponanto por bicikli tra elementoj - bildoj aŭ lumbildoj - kiel karuselo.

Kiel ĝi funkcias

La karuselo estas bildoprezento por bicikli tra serio da enhavo, konstruita kun CSS 3D transformoj kaj iom da JavaScript. Ĝi funkcias kun serio de bildoj, teksto aŭ kutima markado. Ĝi ankaŭ inkluzivas subtenon por antaŭaj/sekvaj kontroloj kaj indikiloj.

En retumiloj kie la Page Visibility API estas subtenata, la karuselo evitos gliti kiam la retpaĝo ne estas videbla por la uzanto (kiel kiam la retumila langeto estas neaktiva, la retumila fenestro estas minimumigita, ktp.).

La animacia efiko de ĉi tiu komponanto dependas de la prefers-reduced-motionamaskomunikila demando. Vidu la sekcion pri reduktita moviĝo de nia dokumentaro pri alirebleco .

Bonvolu konscii, ke nestitaj karuseloj ne estas subtenataj, kaj karuseloj ĝenerale ne konformas al alireblaj normoj.

Finfine, se vi konstruas nian JavaScript el la fonto, ĝi postulasutil.js .

Ekzemplo

Karuseloj ne aŭtomate normaligas dimensiojn de lumbildoj. Kiel tia, vi eble bezonos uzi pliajn ilojn aŭ kutimajn stilojn por taŭge grandeco de enhavo. Dum karuseloj subtenas antaŭajn/postajn kontrolojn kaj indikilojn, ili ne estas eksplicite postulataj. Aldonu kaj agordu laŭplaĉe.

La .activeklaso devas esti aldonita al unu el la lumbildoj alie la karuselo ne estos videbla. Ankaŭ nepre agordu unikan identigilon sur la .carouselpor laŭvolaj kontroloj, precipe se vi uzas plurajn karuselojn sur ununura paĝo. Kontrolaj kaj indikilaj elementoj devas havi data-targetatributon (aŭ hrefpor ligiloj) kiu kongruas kun la id de la .carouselelemento.

Nur diapozitivoj

Jen karuselo kun nur diapozitivoj. Notu la ĉeeston de la .d-blockkaj .w-100sur karuselaj bildoj por malhelpi retumilon defaŭltan bildan vicigon.

<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>

Kun kontroloj

Aldonante la antaŭajn kaj sekvajn kontrolojn:

<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>

Kun indikiloj

Vi ankaŭ povas aldoni la indikilojn al la karuselo, kune kun la kontroloj, ankaŭ.

<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>

Kun bildotekstoj

Aldonu subtitolojn al viaj diapozitivoj facile per la .carousel-captionelemento en iu ajn .carousel-item. Ili povas esti facile kaŝitaj sur pli malgrandaj vidfenestroj, kiel montrite malsupre, kun laŭvolaj montraj utilecoj . Ni kaŝas ilin komence per .d-nonekaj revenigas ilin sur mezgrandaj aparatoj kun .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>Nulla vitae elit libero, a pharetra augue mollis interdum.</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>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</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>Praesent commodo cursus magna, vel scelerisque nisl consectetur.</p>
      </div>
    </div>
  </div>
  <a class="carousel-control-prev" href="#carouselExampleCaptions" 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="#carouselExampleCaptions" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>

Crossfade

Aldonu .carousel-fadeal via karuselo por vigligi diapozitivojn per fada transiro anstataŭ diapozitivo.

<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>

Aldonu data-interval=""al .carousel-itempor ŝanĝi la kvanton da tempo por prokrasti inter aŭtomate biciklado al la sekva ero.

<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>

Uzado

Per datumaj atributoj

Uzu datumajn atributojn por facile kontroli la pozicion de la karuselo. data-slideakceptas la ŝlosilvortojn prevnext, kiu ŝanĝas la glitpozicion rilate al ĝia nuna pozicio. Alternative, uzu data-slide-topor transdoni krudan glitan indekson al la karuselo data-slide-to="2", kiu movas la glitpozicion al aparta indekso komencanta per 0.

La data-ride="carousel"atributo estas uzata por marki karuselon kiel vigliganta ekde la paĝa ŝarĝo. Se vi ne uzas data-ride="carousel"pravalorigi vian karuselon, vi devas mem pravalorigi ĝin. Ĝi ne povas esti uzata en kombinaĵo kun (redunda kaj nenecesa) eksplicita JavaScript-komencigo de la sama karuselo.

Per JavaScript

Voku karuselon mane per:

$('.carousel').carousel()

Opcioj

Opcioj povas esti pasitaj per datumaj atributoj aŭ JavaScript. Por datumaj atributoj, aldonu la opcionomon al data-, kiel en data-interval="".

Nomo Tajpu Defaŭlte Priskribo
intervalo nombro 5000 La kvanto da tempo por prokrasti inter aŭtomate biciklado de objekto. Se estas malvera, karuselo ne aŭtomate biciklos.
klavaro bulea vera Ĉu la karuselo devus reagi al klavaraj eventoj.
paŭzo ŝnuro | bulea "ŝvebi"

Se agordita al "hover", paŭzas la bicikladon de la karuselo mouseenterkaj rekomencas la bicikladon de la karuselo mouseleave. Se agordita al false, ŝvebi super la karuselo ne paŭzos ĝin.

Sur tuŝ-ebligitaj aparatoj, kiam agordita al "hover", biciklado paŭzos touchend(post kiam la uzanto finis interagi kun la karuselo) dum du intervaloj, antaŭ aŭtomate rekomenco. Notu, ke tio estas aldone al la supra muskonduto.

rajdi ŝnuro malvera Aŭtomate ludas la karuselon post kiam la uzanto permane biciklas la unuan eron. Se "karuselo", aŭtomate ludas la karuselon sur ŝarĝo.
envolvi bulea vera Ĉu la karuselo devas bicikli kontinue aŭ havi malfacilajn haltojn.
tuŝi bulea vera Ĉu la karuselo devus subteni maldekstren/dekstren glitajn interagojn sur tuŝekranaj aparatoj.

Metodoj

Nesinkronaj metodoj kaj transiroj

Ĉiuj API-metodoj estas nesinkronaj kaj komencas transiron . Ili revenas al la alvokanto tuj kiam la transiro estas komencita sed antaŭ ol ĝi finiĝas . Krome, metodovoko sur transira komponento estos ignorita .

Vidu nian JavaScript-dokumentaron por pliaj informoj .

.carousel(options)

Komencas la karuselon kun laŭvolaj opcioj objectkaj komencas bicikli tra eroj.

$('.carousel').carousel({
  interval: 2000
})

.carousel('cycle')

Biciklas tra la karuselaj eroj de maldekstre dekstren.

.carousel('pause')

Maldaŭrigas la karuselon de bicikli tra eroj.

.carousel(number)

Biciklas la karuselon al aparta kadro (bazita 0, simile al tabelo). Revenas al la alvokanto antaŭ ol la cela objekto estis montrita (te antaŭ ol la slid.bs.carouselevento okazas).

.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.

.carousel('nextWhenVisible')

Don’t cycle the carousel to next when the page isn’t visible or the carousel or its parent isn’t visible. Returns to the caller before the next item has been shown (i.e. before the slid.bs.carousel event occurs).

.carousel('to')

Cycles the carousel to a particular frame (0 based, similar to an array). Returns to the caller before the next item has been shown (i.e. before the slid.bs.carousel event occurs).

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 item
  • to: 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 This event fires immediately when the slide instance method is invoked.
slid.bs.carousel This event is fired when the carousel has completed its slide transition.
$('#myCarousel').on('slide.bs.carousel', function () {
  // do something...
})

Change transition duration

La transira daŭro de .carousel-itempovas esti ŝanĝita per la $carousel-transitionSass-variablo antaŭ kompili aŭ kutimajn stilojn se vi uzas la kompilitan CSS. Se pluraj transiroj estas aplikataj, certigu, ke la transformtransiro unue estas difinita (ekz. transition: transform 2s ease, opacity .5s ease-out).