Estas son las clases para Carrusel que podemos utilizar con Boostrap 4.
Clase |
Descripción |
.carousel |
Crea un carrusel |
.carousel-indicators |
Agrega indicadores para el carrusel. Estos son los pequeños puntos en la parte inferior de cada diapositiva (que indica cuántas diapositivas hay en el carrusel y qué diapositiva está viendo el usuario actualmente) |
.carousel-inner |
Agrega diapositivas al carrusel |
.carousel-item |
Especifica el contenido de cada diapositiva |
.carousel-control-prev |
Agrega un botón izquierdo (anterior) al carrusel, que permite al usuario regresar entre las diapositivas |
.carousel-control-next |
Agrega un botón derecho (siguiente) al carrusel, que permite al usuario avanzar entre las diapositivas |
.carousel-control-prev-icon |
Se usa junto con .carousel-control-prev para crear un botón «anterior» |
.carousel-control-next-icon |
Se usa junto con .carousel-control-next para crear un botón «siguiente» |
.carousel-caption |
Especifica un título para el carrusel. |
.slide |
Agrega una transición CSS y un efecto de animación cuando se desliza de un elemento al siguiente. Elimina esta clase si no quieres este efecto |
Ejm
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
<style>
/* Make the image fully responsive */
.carousel-inner img {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div class="container mt-3">
<h2>Carousel</h2>
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ul class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
</ul>
<!-- The slideshow -->
<div class="carousel-inner">
<div class="carousel-item active">
<img src="la.jpg" alt="Los Angeles" width="1100" height="500">
</div>
<div class="carousel-item">
<img src="chicago.jpg" alt="Chicago" width="1100" height="500">
</div>
<div class="carousel-item">
<img src="ny.jpg" alt="New York" width="1100" height="500">
</div>
</div>
<!-- Left and right controls -->
<a class="carousel-control-prev" href="#myCarousel" data-slide="prev">
<span class="carousel-control-prev-icon"></span>
</a>
<a class="carousel-control-next" href="#myCarousel" data-slide="next">
<span class="carousel-control-next-icon"></span>
</a>
</div>
</div>
</body>
</html>
Vía data-*, atributos
El atributo data-ride = «carousel» activa el carrusel.
Los atributos data-slide y data-slide-to especifican a qué diapositiva ir.
El atributo data-slide acepta dos valores: anterior o siguiente, mientras que data-slide-to acepta números.
Ejm
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<li data-target="#myCarousel" data-slide-to="1"></li>
<a class="carousel-control-prev" href="#myCarousel" data-slide="prev">
<span class="carousel-control-prev-icon"></span>
</a>
Vía Javascript
Habilitar manualmente con:
Ejm
$("#myCarousel").carousel();
$(".item").click(function(){
$("#myCarousel").carousel(1);
});
$(".carousel-control-prev").click(function(){
$("#myCarousel").carousel("prev");
});
Opciones par el carrusel
Las opciones se pueden pasar a través de atributos de datos o JavaScript. Para los atributos de datos, agregue el nombre de la opción a data-, como en data-interval = «».
Nombre |
Tipo |
Por defecto |
Descripción |
interval |
Número, o falso booleano |
5000 |
Especifica el delay (en milisegundos) entre cada diapositiva.
Nota: establezca el intervalo en falso para evitar que los elementos se deslicen automáticamente |
keyboard |
boolean |
true |
Especifica si el carrusel debe reaccionar a eventos del teclado:
- true: se puede navegar por el carrusel con el teclado haciendo clic en la derecha e izquierda
- false: no se puede navegar por el carrusel con el teclado
|
pause |
string o booleano falso |
«hover» |
Pausa que el carrusel pase por la siguiente diapositiva cuando el puntero del mouse ingresa al carrusel y reanuda el deslizamiento cuando el puntero del mouse sale del carrusel
Nota: establece pausa como false para detener la capacidad de pausa al pasar el mouse |
wrap |
booleano |
true |
Especifica si el carrusel debe pasar por todas las diapositivas continuamente o detenerse en la última diapositiva
- true: se mueve ciclicamente
- false: se para en la última diapositiva
|
Métodos para el carrusel
La siguiente tabla lista todos los métodos disponibles para el carrusel.
Método |
Descripción |
.carousel(options) |
Activa el carrusel con una opción. Ver opciones anteriores para valores válidos |
.carousel(«cycle») |
Pasa por los elementos del carrusel de izquierda a derecha |
.carousel(«pause») |
Evita que el carrusel pase por los elementos. |
.carousel(number) |
Va a un elemento específico (basado en cero: el primer elemento es 0, el segundo elemento es 1, etc.) |
.carousel(«prev») |
Va al elemento anterior |
.carousel(«next») |
Va al elemento siguiente |
.carousel(«dispose») |
Destruye el carrusel |
Eventos de carrusel
La siguiente lista muestra los eventos disponibles para un carrusel.
Evento |
Descripción |
slide.bs.carousel |
Se produce cuando el carrusel está a punto de deslizarse de un elemento a otro. |
slid.bs.carousel |
Se produce cuando el carrusel ha terminado de deslizarse de un elemento a otro. |
Los eventos slid y slide tienen propiedades adicionales.
Propiedad |
Descripción |
direction |
Devuelve la dirección en que se desliza el carrusel (izquierda o derecha) |
relatedTarget |
Devuelve el elemento DOM que se desliza en su lugar como elemento activo |
from |
Devuelve el índice del origen del elemento anterior, al pasar al siguiente. |
to |
Devuelve el índice del elemento siguiente |