in English

Karussell

Eine Diashow-Komponente zum zyklischen Durchlaufen von Elementen – Bildern oder Textfolien – wie in einem Karussell.

Wie es funktioniert

Das Karussell ist eine Diashow zum Durchlaufen einer Reihe von Inhalten, die mit CSS-3D-Transformationen und etwas JavaScript erstellt wurde. Es funktioniert mit einer Reihe von Bildern, Text oder benutzerdefiniertem Markup. Es enthält auch Unterstützung für vorherige/nächste Steuerelemente und Anzeigen.

In Browsern, in denen die Page Visibility API unterstützt wird, vermeidet das Karussell ein Verrutschen, wenn die Webseite für den Benutzer nicht sichtbar ist (z. B. wenn die Registerkarte des Browsers inaktiv ist, das Browserfenster minimiert ist usw.).

Der Animationseffekt dieser Komponente ist abhängig von der prefers-reduced-motionMedienanfrage. Weitere Informationen finden Sie im Abschnitt zur reduzierten Bewegung in unserer Dokumentation zur Barrierefreiheit .

Bitte beachten Sie, dass verschachtelte Karussells nicht unterstützt werden und Karussells im Allgemeinen nicht den Zugänglichkeitsstandards entsprechen.

Wenn Sie unser JavaScript aus der Quelle erstellen, ist schließlichutil.js .

Beispiel

Karussells normalisieren Folienabmessungen nicht automatisch. Daher müssen Sie möglicherweise zusätzliche Dienstprogramme oder benutzerdefinierte Stile verwenden, um den Inhalt entsprechend zu skalieren. Während Karussells vorherige/nächste Steuerelemente und Anzeigen unterstützen, sind sie nicht ausdrücklich erforderlich. Fügen Sie hinzu und passen Sie sie an, wie Sie es für richtig halten.

Die .activeKlasse muss zu einer der Folien hinzugefügt werden, sonst ist das Karussell nicht sichtbar. Stellen Sie außerdem sicher, dass Sie für optionale Steuerelemente einen eindeutigen Wert festlegen id, .carouselinsbesondere wenn Sie mehrere Karussells auf einer einzelnen Seite verwenden. Bedien- und Anzeigeelemente müssen ein data-targetAttribut (oder für Links) haben, das mit dem des Elements hrefübereinstimmt .id.carousel

Nur Folien

Hier ist ein Karussell nur mit Rutschen. Beachten Sie das Vorhandensein von .d-blockund .w-100auf Karussellbildern, um die standardmäßige Bildausrichtung des Browsers zu verhindern.

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

Mit Kontrollen

Hinzufügen der vorherigen und nächsten Steuerelemente. Wir empfehlen die Verwendung von <button>Elementen, aber Sie können <a>Elemente auch mit verwenden 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>

Mit Indikatoren

Sie können neben den Steuerelementen auch die Anzeigen zum Karussell hinzufügen.

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

Mit Bildunterschriften

Fügen Sie Ihren Folien ganz einfach Beschriftungen mit dem .carousel-captionElement in einer beliebigen .carousel-item. Sie können mit optionalen Anzeigedienstprogrammen problemlos in kleineren Ansichtsfenstern ausgeblendet werden, wie unten gezeigt . Wir verstecken sie zunächst mit .d-noneund bringen sie mit auf mittelgroße Geräte zurück .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>

Überblenden

Fügen .carousel-fadeSie Ihrem Karussell hinzu, um Folien mit einem Fade-Übergang anstelle einer Folie zu animieren. Abhängig vom Inhalt Ihres Karussells (z. B. reine Textfolien) möchten Sie möglicherweise .bg-bodybenutzerdefiniertes CSS zu den .carousel-items hinzufügen, um eine ordnungsgemäße Überblendung zu gewährleisten.

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

Fügen Sie data-interval=""a hinzu .carousel-item, um die Verzögerungszeit zwischen dem automatischen Wechseln zum nächsten Element zu ändern.

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

Deaktivieren Sie das Wischen durch Berühren

Karussells unterstützen das Wischen nach links/rechts auf Touchscreen-Geräten, um zwischen den Folien zu wechseln. Dies kann mit dem data-touchAttribut deaktiviert werden. Das folgende Beispiel enthält auch nicht das data-rideAttribut und hat data-interval="false"daher keine automatische Wiedergabe.

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

Verwendungszweck

Über Datenattribute

Verwenden Sie Datenattribute, um die Position des Karussells einfach zu steuern. data-slideakzeptiert die Schlüsselwörter prevoder next, wodurch die Folienposition relativ zu ihrer aktuellen Position geändert wird. Verwenden Sie alternativ , data-slide-toum einen rohen Folienindex an das Karussell zu übergeben data-slide-to="2", wodurch die Folienposition zu einem bestimmten Index verschoben wird, der mit beginnt 0.

Das data-ride="carousel"Attribut wird verwendet, um ein Karussell ab dem Laden der Seite als animierend zu markieren. Wenn Sie Ihr Karussell nicht data-ride="carousel"mit initialisieren, müssen Sie es selbst initialisieren. Es kann nicht in Kombination mit (redundanter und unnötiger) expliziter JavaScript-Initialisierung desselben Karussells verwendet werden.

Über JavaScript

Karussell manuell aufrufen mit:

$('.carousel').carousel()

Optionen

Optionen können über Datenattribute oder JavaScript übergeben werden. Hängen Sie für Datenattribute den Optionsnamen an data-, wie in data-interval="".

Name Typ Standard Beschreibung
Intervall Nummer 5000 Die Zeitspanne, die zwischen dem automatischen Durchlaufen eines Elements verzögert werden soll. Wenn false, läuft das Karussell nicht automatisch.
Klaviatur boolesch Stimmt Ob das Karussell auf Tastaturereignisse reagieren soll.
Pause Zeichenfolge | boolesch 'schweben'

Wenn auf eingestellt, 'hover'wird der Umlauf des Karussells mouseenterangehalten und der Umlauf des Karussells fortgesetzt mouseleave. Wenn auf eingestellt false, wird es nicht angehalten, wenn Sie den Mauszeiger über das Karussell bewegen.

Wenn auf berührungsempfindlichen Geräten eingestellt ist 'hover', wird das Radfahren touchendfür zwei Intervalle angehalten (sobald der Benutzer die Interaktion mit dem Karussell beendet hat), bevor es automatisch fortgesetzt wird. Beachten Sie, dass dies zusätzlich zum obigen Mausverhalten erfolgt.

Reiten Schnur FALSCH Spielt das Karussell automatisch ab, nachdem der Benutzer das erste Element manuell durchlaufen hat. Wenn auf eingestellt, 'carousel'spielt das Karussell beim Laden automatisch ab.
wickeln boolesch Stimmt Ob das Karussell kontinuierlich fahren oder harte Stopps haben soll.
berühren boolesch Stimmt Ob das Karussell Links/Rechts-Wischinteraktionen auf Touchscreen-Geräten unterstützen soll.

Methoden

Asynchrone Methoden und Übergänge

Alle API-Methoden sind asynchron und starten einen Übergang . Sie kehren zum Aufrufer zurück, sobald der Übergang gestartet wird, aber bevor er endet . Außerdem wird ein Methodenaufruf einer Übergangskomponente ignoriert .

Weitere Informationen finden Sie in unserer JavaScript-Dokumentation .

.carousel(options)

Initialisiert das Karussell mit optionalen Optionen objectund beginnt, die Elemente zu durchlaufen.

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

.carousel('cycle')

Blättert von links nach rechts durch die Karussellelemente.

.carousel('pause')

Verhindert, dass das Karussell Artikel durchläuft.

.carousel(number)

Bewegt das Karussell zu einem bestimmten Frame (0-basiert, ähnlich einem Array). Kehrt zum Aufrufer zurück, bevor das Zielelement gezeigt wurde (dh bevor das slid.bs.carouselEreignis eintritt).

.carousel('prev')

Wechselt zum vorherigen Element. Kehrt zum Anrufer zurück, bevor das vorherige Element angezeigt wurde (dh bevor das slid.bs.carouselEreignis eintritt).

.carousel('next')

Wechselt zum nächsten Element. Kehrt zum Anrufer zurück, bevor das nächste Element angezeigt wurde (dh bevor das slid.bs.carouselEreignis eintritt).

.carousel('dispose')

Zerstört das Karussell eines Elements.

.carousel('nextWhenVisible')

Schalten Sie das Karussell nicht zur nächsten, wenn die Seite nicht sichtbar ist oder das Karussell oder sein übergeordnetes Element nicht sichtbar ist. Kehrt zum Anrufer zurück, bevor das nächste Element angezeigt wurde (dh bevor das slid.bs.carouselEreignis eintritt).

.carousel('to')

Bewegt das Karussell zu einem bestimmten Frame (0-basiert, ähnlich einem Array). Kehrt zum Anrufer zurück, bevor das nächste Element angezeigt wurde (dh bevor das slid.bs.carouselEreignis eintritt).

Veranstaltungen

Die Karussellklasse von Bootstrap macht zwei Ereignisse verfügbar, um sich in die Karussellfunktionalität einzuklinken. Beide Ereignisse haben die folgenden zusätzlichen Eigenschaften:

  • direction: Die Richtung, in die das Karussell gleitet (entweder "left"oder "right").
  • relatedTarget: Das DOM-Element, das als aktives Element eingefügt wird.
  • from: Der Index des aktuellen Elements
  • to: Der Index des nächsten Elements

Alle Karussell-Ereignisse werden beim Karussell selbst ausgelöst (dh beim <div class="carousel">).

Ereignistyp Beschreibung
slide.bs.carousel Dieses Ereignis wird sofort ausgelöst, wenn die slideInstanzmethode aufgerufen wird.
Rutsche.bs.Karussell Dieses Ereignis wird ausgelöst, wenn das Karussell seinen Rutschenübergang abgeschlossen hat.
$('#myCarousel').on('slide.bs.carousel', function () {
  // do something...
})

Übergangsdauer ändern

Die Übergangsdauer .carousel-itemkann mit der $carousel-transitionSass-Variablen vor dem Kompilieren oder benutzerdefinierten Stilen geändert werden, wenn Sie das kompilierte CSS verwenden. Wenn mehrere Übergänge angewendet werden, stellen Sie sicher, dass der Transformationsübergang zuerst definiert wird (z. B. transition: transform 2s ease, opacity .5s ease-out).