Source

Στροβιλοδρόμιο

Ένα στοιχείο προβολής διαφανειών για ποδήλατο ανάμεσα σε στοιχεία—εικόνες ή διαφάνειες κειμένου—όπως ένα καρουζέλ.

Πως δουλεύει

Το καρουζέλ είναι μια προβολή διαφανειών για ποδήλατο μέσα από μια σειρά περιεχομένου, κατασκευασμένο με μετασχηματισμούς CSS 3D και λίγο JavaScript. Λειτουργεί με μια σειρά από εικόνες, κείμενο ή προσαρμοσμένη σήμανση. Περιλαμβάνει επίσης υποστήριξη για προηγούμενα/επόμενα χειριστήρια και ενδείξεις.

Σε προγράμματα περιήγησης όπου υποστηρίζεται το API ορατότητας σελίδας , το καρουζέλ θα αποφύγει την ολίσθηση όταν η ιστοσελίδα δεν είναι ορατή στον χρήστη (όπως όταν η καρτέλα του προγράμματος περιήγησης είναι ανενεργή, το παράθυρο του προγράμματος περιήγησης ελαχιστοποιείται κ.λπ.).

Λάβετε υπόψη ότι τα ένθετα καρουζέλ δεν υποστηρίζονται και τα καρουζέλ γενικά δεν συμμορφώνονται με τα πρότυπα προσβασιμότητας.

Τέλος, εάν δημιουργείτε το JavaScript μας από την πηγή, απαιτείutil.js .

Παράδειγμα

Τα καρουζέλ δεν κανονικοποιούν αυτόματα τις διαστάσεις της διαφάνειας. Ως εκ τούτου, μπορεί να χρειαστεί να χρησιμοποιήσετε πρόσθετα βοηθητικά προγράμματα ή προσαρμοσμένα στυλ για το κατάλληλο μέγεθος περιεχομένου. Ενώ τα καρουζέλ υποστηρίζουν προηγούμενα/επόμενα στοιχεία ελέγχου και ενδείξεις, δεν απαιτούνται ρητά. Προσθέστε και προσαρμόστε όπως σας ταιριάζει.

Η .activeκλάση πρέπει να προστεθεί σε μία από τις διαφάνειες διαφορετικά το καρουζέλ δεν θα είναι ορατό. Επίσης, φροντίστε να ορίσετε ένα μοναδικό αναγνωριστικό για τα .carouselπροαιρετικά στοιχεία ελέγχου, ειδικά αν χρησιμοποιείτε πολλά καρουζέλ σε μία σελίδα. Τα στοιχεία ελέγχου και ένδειξης πρέπει να έχουν ένα data-targetχαρακτηριστικό (ή hrefγια συνδέσμους) που να ταιριάζει με το αναγνωριστικό του .carouselστοιχείου.

Μόνο διαφάνειες

Εδώ είναι ένα καρουζέλ μόνο με διαφάνειες. Σημειώστε την παρουσία των εικόνων καρουζέλ .d-blockκαι .w-100πάνω για να αποτρέψετε την προεπιλεγμένη στοίχιση εικόνων του προγράμματος περιήγησης.

<div id="carouselExampleSlidesOnly" class="carousel slide" data-ride="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
    </div>
  </div>
</div>

Με χειριστήρια

Προσθήκη στο προηγούμενο και το επόμενο στοιχείο ελέγχου:

<div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
    </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>

Με δείκτες

Μπορείτε επίσης να προσθέσετε τις ενδείξεις στο καρουζέλ, μαζί με τα χειριστήρια, επίσης.

<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 class="d-block w-100" src=".../800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
    </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>

Με λεζάντες

Προσθέστε λεζάντες στις διαφάνειές σας εύκολα με το .carousel-captionστοιχείο μέσα σε οποιοδήποτε .carousel-item. Μπορούν εύκολα να κρυφτούν σε μικρότερες θύρες προβολής, όπως φαίνεται παρακάτω, με προαιρετικά βοηθητικά προγράμματα προβολής . Τα κρύβουμε αρχικά με .d-noneκαι τα επαναφέρουμε σε συσκευές μεσαίου μεγέθους με .d-md-block.

<div class="carousel-item">
  <img src="..." alt="...">
  <div class="carousel-caption d-none d-md-block">
    <h5>...</h5>
    <p>...</p>
  </div>
</div>

Crossfade

Προσθέστε .carousel-fadeστο καρουζέλ σας για να δημιουργήσετε κινούμενες διαφάνειες με μετάβαση fade αντί για διαφάνεια.

<div id="carouselExampleFade" class="carousel slide carousel-fade" data-ride="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
    </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>

Χρήση

Μέσω χαρακτηριστικών δεδομένων

Χρησιμοποιήστε χαρακτηριστικά δεδομένων για να ελέγχετε εύκολα τη θέση του καρουζέλ. data-slideαποδέχεται τις λέξεις-κλειδιά prevή next, το οποίο αλλάζει τη θέση της διαφάνειας σε σχέση με την τρέχουσα θέση της. Εναλλακτικά, χρησιμοποιήστε data-slide-toτο για να περάσετε ένα ακατέργαστο ευρετήριο διαφάνειας στο καρουζέλ data-slide-to="2", το οποίο μετατοπίζει τη θέση της διαφάνειας σε ένα συγκεκριμένο ευρετήριο αρχίζοντας με 0.

Το data-ride="carousel"χαρακτηριστικό χρησιμοποιείται για την επισήμανση ενός καρουζέλ ως κινούμενης κίνησης ξεκινώντας από τη φόρτωση της σελίδας. Δεν μπορεί να χρησιμοποιηθεί σε συνδυασμό με (περιττή και περιττή) ρητή προετοιμασία JavaScript του ίδιου καρουζέλ.

Μέσω JavaScript

Κλήση καρουζέλ χειροκίνητα με:

$('.carousel').carousel()

Επιλογές

Οι επιλογές μπορούν να μεταβιβαστούν μέσω χαρακτηριστικών δεδομένων ή JavaScript. Για τα χαρακτηριστικά δεδομένων, προσθέστε το όνομα της επιλογής στο data-, όπως στο data-interval="".

Ονομα Τύπος Προκαθορισμένο Περιγραφή
διάστημα αριθμός 5000 Ο χρόνος καθυστέρησης μεταξύ της αυτόματης ανακύκλωσης ενός αντικειμένου. Εάν είναι false, το καρουζέλ δεν θα ανακυκλωθεί αυτόματα.
πληκτρολόγιο boolean αληθής Εάν το καρουζέλ πρέπει να αντιδρά σε συμβάντα πληκτρολογίου.
παύση χορδή | boolean "φτερουγίζω"

Εάν οριστεί σε "hover", διακόπτει παύση το cycling του carousel on mouseenterκαι συνεχίζει το cycling του carousel on mouseleave. Εάν οριστεί σε false, η τοποθέτηση του δείκτη του ποντικιού πάνω από το καρουζέλ δεν θα το κάνει παύση.

Σε συσκευές με δυνατότητα αφής, όταν έχει οριστεί σε "hover", η ποδηλασία θα σταματήσει touchend(όταν ο χρήστης ολοκληρώσει την αλληλεπίδραση με το καρουζέλ) για δύο διαστήματα, προτού συνεχιστεί αυτόματα. Σημειώστε ότι αυτό είναι επιπλέον της παραπάνω συμπεριφοράς του ποντικιού.

βόλτα σειρά ψευδής Παίζει αυτόματα το καρουζέλ αφού ο χρήστης ανακυκλώσει με μη αυτόματο τρόπο το πρώτο στοιχείο. Εάν "καρουσέλ", αναπαράγει αυτόματα το καρουζέλ κατά τη φόρτωση.
κάλυμμα boolean αληθής Είτε το καρουζέλ πρέπει να κινείται συνεχώς ή να έχει σκληρές στάσεις.

Μέθοδοι

Ασύγχρονες μέθοδοι και μεταβάσεις

Όλες οι μέθοδοι API είναι ασύγχρονες και ξεκινούν μια μετάβαση . Επιστρέφουν στον καλούντα μόλις ξεκινήσει η μετάβαση αλλά πριν τελειώσει . Επιπλέον, μια κλήση μεθόδου σε ένα στοιχείο μετάβασης θα αγνοηθεί .

Δείτε την τεκμηρίωση JavaScript για περισσότερες πληροφορίες.

.carousel(options)

Αρχικοποιεί το καρουζέλ με προαιρετικές επιλογές objectκαι ξεκινάει να περιηγείται στα αντικείμενα.

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

.carousel('cycle')

Κυκλοφορεί μέσα από τα στοιχεία καρουζέλ από αριστερά προς τα δεξιά.

.carousel('pause')

Σταματά το καρουζέλ από το να περνάει με το ποδήλατο μέσα από αντικείμενα.

.carousel(number)

Κυκλοφορεί το καρουζέλ σε ένα συγκεκριμένο πλαίσιο (με βάση το 0, παρόμοιο με έναν πίνακα). Επιστρέφει στον καλούντα πριν εμφανιστεί το αντικείμενο προορισμού (δηλαδή πριν συμβεί το slid.bs.carouselσυμβάν).

.carousel('prev')

Κύκλοι στο προηγούμενο στοιχείο. Επιστρέφει στον καλούντα πριν εμφανιστεί το προηγούμενο στοιχείο (δηλαδή πριν συμβεί το slid.bs.carouselσυμβάν).

.carousel('next')

Κύκλοι στο επόμενο στοιχείο. Επιστρέφει στον καλούντα πριν εμφανιστεί το επόμενο στοιχείο (δηλαδή πριν συμβεί το slid.bs.carouselσυμβάν).

.carousel('dispose')

Καταστρέφει το καρουζέλ ενός στοιχείου.

Εκδηλώσεις

Η κατηγορία καρουζέλ του Bootstrap εκθέτει δύο συμβάντα για σύνδεση στη λειτουργικότητα καρουζέλ. Και τα δύο συμβάντα έχουν τις ακόλουθες πρόσθετες ιδιότητες:

  • direction: Η κατεύθυνση προς την οποία ολισθαίνει το καρουσέλ (είτε "left"είτε "right").
  • relatedTarget: Το στοιχείο DOM που τοποθετείται στη θέση του ως ενεργό στοιχείο.
  • from: Το ευρετήριο του τρέχοντος στοιχείου
  • to: Το ευρετήριο του επόμενου στοιχείου

Όλα τα γεγονότα καρουσέλ πυροβολούνται στο ίδιο το καρουζέλ (δηλ. στο <div class="carousel">).

Τύπος συμβάντος Περιγραφή
τσουλήθρα.β.καρουσέλ Αυτό το συμβάν ενεργοποιείται αμέσως όταν slideγίνεται επίκληση της μεθόδου παρουσίας.
γλίστρησε.β.καρουσέλ Αυτό το συμβάν ενεργοποιείται όταν το καρουζέλ έχει ολοκληρώσει τη μετάβασή του.
$('#myCarousel').on('slide.bs.carousel', function () {
  // do something…
})

Αλλαγή διάρκειας μετάβασης

Η διάρκεια μετάβασης του .carousel-itemμπορεί να αλλάξει με τη $carousel-transitionμεταβλητή Sass πριν από τη μεταγλώττιση ή προσαρμοσμένα στυλ εάν χρησιμοποιείτε το μεταγλωττισμένο CSS. Εάν εφαρμόζονται πολλαπλές μεταβάσεις, βεβαιωθείτε ότι η μετάβαση μετασχηματισμού έχει οριστεί πρώτα (π.χ. transition: transform 2s ease, opacity .5s ease-out).