template multiple ejemplo bootstrap bar jquery twitter-bootstrap-3 jquery-plugins carousel bootstrap-4

jquery - multiple - carousel bootstrap responsive



Bootstrap carrusel mĂșltiples marcos a la vez (13)

Este es el efecto que intento lograr con el carrusel Bootstrap 3

En lugar de mostrar solo un fotograma a la vez, muestra N fotogramas deslizándose uno al lado del otro. Luego, cuando se desliza (o cuando se desliza automáticamente), cambia el grupo de diapositivas como lo hace.

¿Se puede hacer esto con el carrusel de bootstrap 3? Espero no tener que ir a buscar otro plugin jQuery ...


¿Se puede hacer esto con el carrusel de bootstrap 3? Espero no tener que ir a buscar otro plugin jQuery

A partir del 2013-12-08, la respuesta es no. El efecto que está buscando no es posible utilizando el complemento de carrusel genérico de Bootstrap 3. Sin embargo, aquí hay un plugin jQuery simple que parece hacer exactamente lo que usted quiere http://sorgalla.com/jcarousel/


Actualización 2018

Bootstrap 4

El carrusel ha cambiado en 4.x, y las transiciones de animación de varias diapositivas pueden anularse así ...

.carousel-inner .carousel-item-right.active, .carousel-inner .carousel-item-next { transform: translateX(33.33%); } .carousel-inner .carousel-item-left.active, .carousel-inner .carousel-item-prev { transform: translateX(-33.33%) } .carousel-inner .carousel-item-right, .carousel-inner .carousel-item-left{ transform: translateX(0); }

Demostración de Bootstrap 4 Alpha.6
Bootstrap 4.0.0 (show 4, advance 1 a la vez)
Bootstrap 4.1.0 (avance los 4 a la vez)

Otra opción es un carrusel receptivo que solo muestra y avanza 1 diapositiva en pantallas más pequeñas. En lugar de clonar las diapositivas como en el ejemplo anterior, esta ajusta el CSS y usa jQuery solo para mover las diapositivas adicionales para permitir el ciclo continuo (ajuste):

No copie y pegue este código. Primero, entiende cómo funciona.

Bootstrap 4 receptivo (1 diapositiva en el móvil)

@media (min-width: 768px) { /* show 3 items */ .carousel-inner .active, .carousel-inner .active + .carousel-item, .carousel-inner .active + .carousel-item + .carousel-item { display: block; } .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left), .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item, .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item { transition: none; } .carousel-inner .carousel-item-next, .carousel-inner .carousel-item-prev { position: relative; transform: translate3d(0, 0, 0); } .carousel-inner .active.carousel-item + .carousel-item + .carousel-item + .carousel-item { position: absolute; top: 0; right: -33.3333%; z-index: -1; display: block; visibility: visible; } /* left or forward direction */ .active.carousel-item-left + .carousel-item-next.carousel-item-left, .carousel-item-next.carousel-item-left + .carousel-item, .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item, .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item { position: relative; transform: translate3d(-100%, 0, 0); visibility: visible; } /* farthest right hidden item must be abso position for animations */ .carousel-inner .carousel-item-prev.carousel-item-right { position: absolute; top: 0; left: 0; z-index: -1; display: block; visibility: visible; } /* right or prev direction */ .active.carousel-item-right + .carousel-item-prev.carousel-item-right, .carousel-item-prev.carousel-item-right + .carousel-item, .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item, .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item { position: relative; transform: translate3d(100%, 0, 0); visibility: visible; display: block; visibility: visible; } }

Bootstrap 3

Aquí hay un ejemplo 3.x en Bootply: http://bootply.com/89193

Debe poner una fila completa de imágenes en el elemento activo. Aquí hay otra versión que no apila las imágenes en anchos de pantalla más pequeños: http://bootply.com/92514

EDITAR Método alternativo para avanzar una diapositiva a la vez :

Use jQuery para clonar los siguientes elementos.

$(''.carousel .item'').each(function(){ var next = $(this).next(); if (!next.length) { next = $(this).siblings('':first''); } next.children('':first-child'').clone().appendTo($(this)); if (next.next().length>0) { next.next().children('':first-child'').clone().appendTo($(this)); } else { $(this).siblings('':first'').children('':first-child'').clone().appendTo($(this)); } });

Y luego CSS para posicionar en consecuencia ...

Antes de 3.3.1

.carousel-inner .active.left { left: -33%; } .carousel-inner .next { left: 33%; }

Después de 3.3.1

.carousel-inner .item.left.active { transform: translateX(-33%); } .carousel-inner .item.right.active { transform: translateX(33%); } .carousel-inner .item.next { transform: translateX(33%) } .carousel-inner .item.prev { transform: translateX(-33%) } .carousel-inner .item.right, .carousel-inner .item.left { transform: translateX(0); }

Esto mostrará 3 a la vez, pero solo se desliza uno a la vez:

Demostración de Bootstrap 3.x

Por favor, no copie y pegue este código. Primero, entiende cómo funciona. Esta respuesta está aquí para ayudarlo a aprender .

Al duplicar este carrusel de bootstrap 4 modificado solo funciona la mitad correctamente (el bucle de desplazamiento deja de funcionar)
cómo hacer 2 controles deslizantes de arranque en una sola página sin mezclar sus CSS y jQuery?


Esto es lo que funcionó para mí. Muy simple jQuery y CSS para hacer carrusel sensible funciona independientemente de carruseles en la misma página. Altamente personalizable, pero básicamente un div con nowrap de espacio en blanco que contiene un grupo de elementos de bloque en línea y pone el último al principio para retroceder o el primero al final para avanzar. Gracias insertAfter !

$(''.carosel-control-right'').click(function() { $(this).blur(); $(this).parent().find(''.carosel-item'').first().insertAfter($(this).parent().find(''.carosel-item'').last()); }); $(''.carosel-control-left'').click(function() { $(this).blur(); $(this).parent().find(''.carosel-item'').last().insertBefore($(this).parent().find(''.carosel-item'').first()); });

@media (max-width: 300px) { .carosel-item { width: 100%; } } @media (min-width: 300px) { .carosel-item { width: 50%; } } @media (min-width: 500px) { .carosel-item { width: 33.333%; } } @media (min-width: 768px) { .carosel-item { width: 25%; } } .carosel { position: relative; background-color: #000; } .carosel-inner { white-space: nowrap; overflow: hidden; font-size: 0; } .carosel-item { display: inline-block; } .carosel-control { position: absolute; top: 50%; padding: 15px; box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.5); transform: translateY(-50%); border-radius: 50%; color: rgba(0, 0, 0, 0.5); font-size: 30px; display: inline-block; } .carosel-control-left { left: 15px; } .carosel-control-right { right: 15px; } .carosel-control:active, .carosel-control:hover { text-decoration: none; color: rgba(0, 0, 0, 0.8); }

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="carosel" id="carosel1"> <a class="carosel-control carosel-control-left glyphicon glyphicon-chevron-left" href="#"></a> <div class="carosel-inner"> <img class="carosel-item" src="http://placehold.it/500/bbbbbb/fff&amp;text=1" /> <img class="carosel-item" src="http://placehold.it/500/CCCCCC&amp;text=2" /> <img class="carosel-item" src="http://placehold.it/500/eeeeee&amp;text=3" /> <img class="carosel-item" src="http://placehold.it/500/f4f4f4&amp;text=4" /> <img class="carosel-item" src="http://placehold.it/500/fcfcfc/333&amp;text=5" /> <img class="carosel-item" src="http://placehold.it/500/f477f4/fff&amp;text=6" /> </div> <a class="carosel-control carosel-control-right glyphicon glyphicon-chevron-right" href="#"></a> </div> <div class="carosel" id="carosel2"> <a class="carosel-control carosel-control-left glyphicon glyphicon-chevron-left" href="#"></a> <div class="carosel-inner"> <img class="carosel-item" src="http://placehold.it/500/bbbbbb/fff&amp;text=1" /> <img class="carosel-item" src="http://placehold.it/500/CCCCCC&amp;text=2" /> <img class="carosel-item" src="http://placehold.it/500/eeeeee&amp;text=3" /> <img class="carosel-item" src="http://placehold.it/500/f4f4f4&amp;text=4" /> <img class="carosel-item" src="http://placehold.it/500/fcfcfc/333&amp;text=5" /> <img class="carosel-item" src="http://placehold.it/500/f477f4/fff&amp;text=6" /> </div> <a class="carosel-control carosel-control-right glyphicon glyphicon-chevron-right" href="#"></a> </div>



La respuesta más popular es correcta, pero creo que el código es inútilmente complicado. Con el mismo CSS, este código jquery es más fácil de entender, creo:

$(''#myCarousel'').carousel({ interval: 10000 }) $(''.carousel .item'').each(function() { var item = $(this); item.siblings().each(function(index) { if (index < 4) { $(this).children('':first-child'').clone().appendTo(item); } }); });


Puede agregar varias etiquetas de entrada que tengan atributos como clase con el valor "carrusel-indicadores" y con datos-deslizar-a tenga valores secuenciales como 0 a 6 o 0 a 9.

de lo que necesita copiar y pegar el div que tiene atributo como clase con valor "elemento".

Esto funciona para mí

<div data-ride="carousel" class="carousel slide" id="myCarousel"> <!-- Indicators --> <ol class="carousel-indicators"> <li class="" data-slide-to="0" data-target="#myCarousel"></li> <li data-slide-to="1" data-target="#myCarousel" class=""></li> <li data-slide-to="2" data-target="#myCarousel" class="active"></li> <li data-slide-to="3" data-target="#myCarousel" class=""></li> <li data-slide-to="4" data-target="#myCarousel" class=""></li> <li data-slide-to="5" data-target="#myCarousel" class=""></li> <li data-slide-to="6" data-target="#myCarousel" class=""></li> </ol> <div role="listbox" class="carousel-inner"> <div class="item active"> <img alt="First slide" src="images/carousel/11.jpg" class="first-slide"> </div> <div class="item"> <img alt="Second slide" src="images/carousel/22.jpg" class="second-slide"> </div> <div class="item"> <img alt="Third slide" src="images/carousel/33.jpg" class="third-slide"> </div> <div class="item"> <img alt="Third slide" src="images/carousel/44.jpeg" class="fourth-slide"> </div> <div class="item"> <img alt="Third slide" src="images/carousel/55.jpg" class="third-slide"> </div> <div class="item"> <img alt="Third slide" src="images/carousel/66.jpg" class="third-slide"> </div> <div class="item"> <img alt="Third slide" src="images/carousel/77.jpg" class="third-slide"> </div> </div> <a data-slide="prev" role="button" href="#myCarousel" class="left carousel-control"> <span aria-hidden="true" class="glyphicon glyphicon-chevron-left"></span> <span class="sr-only">Previous</span> </a> <a data-slide="next" role="button" href="#myCarousel" class="right carousel-control"> <span aria-hidden="true" class="glyphicon glyphicon-chevron-right"></span> <span class="sr-only">Next</span> </a> </div>


Todas las soluciones anteriores son hacky y con errores. Ni siquiera lo intentes. Usa otras libs. Lo mejor que he encontrado - http://sachinchoolur.github.io/lightslider Funciona muy bien con bootstrap, no agrega html basura, altamente configurable, receptivo, optimizado para dispositivos móviles, etc.

$(''.multi-item-carousel'').lightSlider({ item: 4, pager: false, autoWidth: false, slideMargin: 0 });


Tuve el mismo problema y las soluciones descritas aquí funcionaron bien. Pero quería apoyar los cambios en el tamaño de la ventana (y el diseño). El resultado es una pequeña biblioteca que resuelve todo el cálculo. Compruébelo aquí: https://github.com/SocialbitGmbH/BootstrapCarouselPageMerger

Para hacer que el script funcione, debe agregar un nuevo envoltorio <div> con la clase .item-content directamente en su .item <div> . Ejemplo:

<div class="carousel slide multiple" id="very-cool-carousel" data-ride="carousel"> <div class="carousel-inner" role="listbox"> <div class="item active"> <div class="item-content"> First page </div> </div> <div class="item active"> <div class="item-content"> Second page </div> </div> </div> </div>

Uso de esta biblioteca:

socialbitBootstrapCarouselPageMerger.run(''div.carousel'');

Para cambiar la configuración:

socialbitBootstrapCarouselPageMerger.settings.spaceCalculationFactor = 0.82;

Ejemplo:

Como puede ver, el carrusel se actualiza para mostrar más controles cuando cambia el tamaño de la ventana. Consulte la configuración watchWindowSizeTimeout para controlar el tiempo de espera para reaccionar a los cambios en el tamaño de la ventana.


prueba esto ... funciona en el mío ... código:

<div class="container"> <br> <div id="myCarousel" class="carousel slide" data-ride="carousel"> <!-- Indicators --> <ol 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> <li data-target="#myCarousel" data-slide-to="3"></li> </ol> <!-- Wrapper for slides --> <div class="carousel-inner" role="listbox"> <div class="item active"> <div class="span4" style="padding-left: 18px;"> <img src="http://placehold.it/290x180" class="img-thumbnail"> <img src="http://placehold.it/290x180" class="img-thumbnail"> <img src="http://placehold.it/290x180" class="img-thumbnail"> </div> </div> <div class="item"> <div class="span4" style="padding-left: 18px;"> <img src="http://placehold.it/290x180" class="img-thumbnail"> <img src="http://placehold.it/290x180" class="img-thumbnail"> <img src="http://placehold.it/290x180" class="img-thumbnail"> </div> </div> </div> <a class="right carousel-control" href="#myCarousel" role="button" data-slide="next"> <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> <span class="sr-only">Next</span> </a> </div> </div>


This es una rutina de arranque de Twitter que funciona 3.

Aquí está el javascript :

$(''#myCarousel'').carousel({ interval: 10000 }) $(''.carousel .item'').each(function(){ var next = $(this).next(); if (!next.length) { next = $(this).siblings('':first''); } next.children('':first-child'').clone().appendTo($(this)); if (next.next().length>0) { next.next().children('':first-child'').clone().appendTo($(this)); } else { $(this).siblings('':first'').children('':first-child'').clone().appendTo($(this)); } });

Y el CSS :

.carousel-inner .active.left { left: -33%; } .carousel-inner .active.right { left: 33%; } .carousel-inner .next { left: 33% } .carousel-inner .prev { left: -33% } .carousel-control.left { background-image: none; } .carousel-control.right { background-image: none; } .carousel-inner .item { background: white; }

Puedes verlo en acción en este Jsfiddle

La razón por la que agregué esta respuesta porque las otras no funcionan del todo. Encontré 2 errores dentro de ellos, uno de ellos fue que la flecha izquierda generó un efecto extraño y el otro fue sobre el texto en negrita en algunas situaciones que se puede resolver configurando el color de fondo para que el elemento inferior no sea visible mientras la transición efecto.


<!--css code--> .carousel-showsixmoveone .carousel-control { width: 4%; background-image: none; } .carousel-showsixmoveone .carousel-control.left { margin-left: 15px; } .carousel-showsixmoveone .carousel-control.right { margin-right: 15px; } .carousel-showsixmoveone .cloneditem-1, .carousel-showsixmoveone .cloneditem-2, .carousel-showsixmoveone .cloneditem-3, .carousel-showsixmoveone .cloneditem-4, .carousel-showsixmoveone .cloneditem-5 { display: none; } @media all and (min-width: 768px) { .carousel-showsixmoveone .carousel-inner > .active.left, .carousel-showsixmoveone .carousel-inner > .prev { left: -33.333%; } .carousel-showsixmoveone .carousel-inner > .active.right, .carousel-showsixmoveone .carousel-inner > .next { left: 33.333%; } .carousel-showsixmoveone .carousel-inner > .left, .carousel-showsixmoveone .carousel-inner > .prev.right, .carousel-showsixmoveone .carousel-inner > .active { left: 0; } .carousel-showsixmoveone .carousel-inner .cloneditem-1, .carousel-showsixmoveone .carousel-inner .cloneditem-2 { display: block; } } @media all and (min-width: 768px) and (transform-3d), all and (min-width: 768px) and (-webkit-transform-3d) { .carousel-showsixmoveone .carousel-inner > .item.active.right, .carousel-showsixmoveone .carousel-inner > .item.next { -webkit-transform: translate3d(33.333%, 0, 0); transform: translate3d(33.333%, 0, 0); left: 0; } .carousel-showsixmoveone .carousel-inner > .item.active.left, .carousel-showsixmoveone .carousel-inner > .item.prev { -webkit-transform: translate3d(-33.333%, 0, 0); transform: translate3d(-33.333%, 0, 0); left: 0; } .carousel-showsixmoveone .carousel-inner > .item.left, .carousel-showsixmoveone .carousel-inner > .item.prev.right, .carousel-showsixmoveone .carousel-inner > .item.active { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); left: 0; } } @media all and (min-width: 992px) { .carousel-showsixmoveone .carousel-inner > .active.left, .carousel-showsixmoveone .carousel-inner > .prev { left: -16.666%; } .carousel-showsixmoveone .carousel-inner > .active.right, .carousel-showsixmoveone .carousel-inner > .next { left: 16.666%; } .carousel-showsixmoveone .carousel-inner > .left, .carousel-showsixmoveone .carousel-inner > .prev.right, .carousel-showsixmoveone .carousel-inner > .active { left: 0; } .carousel-showsixmoveone .carousel-inner .cloneditem-3, .carousel-showsixmoveone .carousel-inner .cloneditem-4, .carousel-showsixmoveone .carousel-inner .cloneditem-5 { display: block; } } @media all and (min-width: 992px) and (transform-3d), all and (min-width: 992px) and (-webkit-transform-3d) { .carousel-showsixmoveone .carousel-inner > .item.active.right, .carousel-showsixmoveone .carousel-inner > .item.next { -webkit-transform: translate3d(16.666%, 0, 0); transform: translate3d(16.666%, 0, 0); left: 0; } .carousel-showsixmoveone .carousel-inner > .item.active.left, .carousel-showsixmoveone .carousel-inner > .item.prev { -webkit-transform: translate3d(-16.666%, 0, 0); transform: translate3d(-16.666%, 0, 0); left: 0; } .carousel-showsixmoveone .carousel-inner > .item.left, .carousel-showsixmoveone .carousel-inner > .item.prev.right, .carousel-showsixmoveone .carousel-inner > .item.active { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); left: 0; } } <!-- begin snippet: js hide: false console: true -->

<!--html--> <div class="row "> <div class="col-md-12"> <div class="carousel carousel-showsixmoveone slide" id="chocolatelist" data-interval="30000"> <div class="carousel-inner"> <div class="item active"> <div class="col-xs-12 col-sm-4 col-md-2"> <a href="#"> <img src="http://placehold.it/500/0054A6/fff/&amp;text=1" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-1"> <a href="#"> <img src="http://placehold.it/500/002d5a/fff/&amp;text=2" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-2"> <a href="#"> <img src="http://placehold.it/500/d6d6d6/333&amp;text=3" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-3"> <a href="#"> <img src="http://placehold.it/500/002040/eeeeee&amp;text=4" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-4"> <a href="#"> <img src="http://placehold.it/500/0054A6/fff/&amp;text=5" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-5"> <a href="#"> <img src="http://placehold.it/500/002d5a/fff/&amp;text=6" class="img-responsive"> </a> </div> </div> <div class="item"> <div class="col-xs-12 col-sm-4 col-md-2"> <a href="#"> <img src="http://placehold.it/500/002d5a/fff/&amp;text=2" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-1"> <a href="#"> <img src="http://placehold.it/500/d6d6d6/333&amp;text=3" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-2"> <a href="#"> <img src="http://placehold.it/500/002040/eeeeee&amp;text=4" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-3"> <a href="#"> <img src="http://placehold.it/500/0054A6/fff/&amp;text=5" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-4"> <a href="#"> <img src="http://placehold.it/500/002d5a/fff/&amp;text=6" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-5"> <a href="#"> <img src="http://placehold.it/500/eeeeee&amp;text=7" class="img-responsive"> </a> </div> </div> <div class="item"> <div class="col-xs-12 col-sm-4 col-md-2"> <a href="#"> <img src="http://placehold.it/500/d6d6d6/333&amp;text=3" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-1"> <a href="#"> <img src="http://placehold.it/500/002040/eeeeee&amp;text=4" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-2"> <a href="#"> <img src="http://placehold.it/500/0054A6/fff/&amp;text=5" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-3"> <a href="#"> <img src="http://placehold.it/500/002d5a/fff/&amp;text=6" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-4"> <a href="#"> <img src="http://placehold.it/500/eeeeee&amp;text=7" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-5"> <a href="#"> <img src="http://placehold.it/500/40a1ff/002040&amp;text=8" class="img-responsive"> </a> </div> </div> <div class="item"> <div class="col-xs-12 col-sm-4 col-md-2"> <a href="#"> <img src="http://placehold.it/500/002040/eeeeee&amp;text=4" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-1"> <a href="#"> <img src="http://placehold.it/500/0054A6/fff/&amp;text=5" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-2"> <a href="#"> <img src="http://placehold.it/500/002d5a/fff/&amp;text=6" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-3"> <a href="#"> <img src="http://placehold.it/500/eeeeee&amp;text=7" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-4"> <a href="#"> <img src="http://placehold.it/500/40a1ff/002040&amp;text=8" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-5"> <a href="#"> <img src="http://placehold.it/500/0054A6/fff/&amp;text=1" class="img-responsive"> </a> </div> </div> <div class="item"> <div class="col-xs-12 col-sm-4 col-md-2"> <a href="#"> <img src="http://placehold.it/500/0054A6/fff/&amp;text=5" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-1"> <a href="#"> <img src="http://placehold.it/500/002d5a/fff/&amp;text=6" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-2"> <a href="#"> <img src="http://placehold.it/500/eeeeee&amp;text=7" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-3"> <a href="#"> <img src="http://placehold.it/500/40a1ff/002040&amp;text=8" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-4"> <a href="#"> <img src="http://placehold.it/500/0054A6/fff/&amp;text=1" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-5"> <a href="#"> <img src="http://placehold.it/500/002d5a/fff/&amp;text=2" class="img-responsive"> </a> </div> </div> <div class="item"> <div class="col-xs-12 col-sm-4 col-md-2"> <a href="#"> <img src="http://placehold.it/500/002d5a/fff/&amp;text=6" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-1"> <a href="#"> <img src="http://placehold.it/500/eeeeee&amp;text=7" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-2"> <a href="#"> <img src="http://placehold.it/500/40a1ff/002040&amp;text=8" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-3"> <a href="#"> <img src="http://placehold.it/500/0054A6/fff/&amp;text=1" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-4"> <a href="#"> <img src="http://placehold.it/500/002d5a/fff/&amp;text=2" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-5"> <a href="#"> <img src="http://placehold.it/500/d6d6d6/333&amp;text=3" class="img-responsive"> </a> </div> </div> <div class="item"> <div class="col-xs-12 col-sm-4 col-md-2"> <a href="#"> <img src="http://placehold.it/500/eeeeee&amp;text=7" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-1"> <a href="#"> <img src="http://placehold.it/500/40a1ff/002040&amp;text=8" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-2"> <a href="#"> <img src="http://placehold.it/500/0054A6/fff/&amp;text=1" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-3"> <a href="#"> <img src="http://placehold.it/500/002d5a/fff/&amp;text=2" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-4"> <a href="#"> <img src="http://placehold.it/500/d6d6d6/333&amp;text=3" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-5"> <a href="#"> <img src="http://placehold.it/500/002040/eeeeee&amp;text=4" class="img-responsive"> </a> </div> </div> <div class="item"> <div class="col-xs-12 col-sm-4 col-md-2"> <a href="#"> <img src="http://placehold.it/500/40a1ff/002040&amp;text=8" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-1"> <a href="#"> <img src="http://placehold.it/500/0054A6/fff/&amp;text=1" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-2"> <a href="#"> <img src="http://placehold.it/500/002d5a/fff/&amp;text=2" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-3"> <a href="#"> <img src="http://placehold.it/500/d6d6d6/333&amp;text=3" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-4"> <a href="#"> <img src="http://placehold.it/500/002040/eeeeee&amp;text=4" class="img-responsive"> </a> </div> <div class="col-xs-12 col-sm-4 col-md-2 cloneditem-5"> <a href="#"> <img src="http://placehold.it/500/0054A6/fff/&amp;text=5" class="img-responsive"> </a> </div> </div> </div> <a class="left carousel-control" href="#chocolatelist" data-slide="prev"><i class="glyphicon glyphicon-chevron-left "></i></a> <a class="right carousel-control" href="#chocolatelist" data-slide="next"><i class="glyphicon glyphicon-chevron-right"></i></a> </div> </div> </div>

pegue este código obtendrá alguna pista. enlace de imagen del carrusel deslizante


$(''#carousel-example-generic'').on(''slid.bs.carousel'', function () { $(".item.active:nth-child(" + ($(".carousel-inner .item").length -1) + ") + .item").insertBefore($(".item:first-child")); $(".item.active:last-child").insertBefore($(".item:first-child")); });

.item.active, .item.active + .item, .item.active + .item + .item { width: 33.3%; display: block; float:left; }

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous"> <div id="carousel-example-generic" class="carousel slide" data-ride="carousel" style="max-width:800px;"> <!-- Indicators --> <ol class="carousel-indicators"> <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li> <li data-target="#carousel-example-generic" data-slide-to="1"></li> <li data-target="#carousel-example-generic" data-slide-to="2"></li> </ol> <!-- Wrapper for slides --> <div class="carousel-inner" role="listbox"> <div class="item active"> <img data-src="holder.js/300x200?text=1"> </div> <div class="item"> <img data-src="holder.js/300x200?text=2"> </div> <div class="item"> <img data-src="holder.js/300x200?text=3"> </div> <div class="item"> <img data-src="holder.js/300x200?text=4"> </div> <div class="item"> <img data-src="holder.js/300x200?text=5"> </div> <div class="item"> <img data-src="holder.js/300x200?text=6"> </div> <div class="item"> <img data-src="holder.js/300x200?text=7"> </div> </div> <!-- Controls --> <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev"> <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span> <span class="sr-only">Previous</span> </a> <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next"> <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> <span class="sr-only">Next</span> </a> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/holder/2.9.1/holder.min.js"></script>


Try this code <div id="recommended-item-carousel" class="carousel slide" data-ride="carousel"> <div class="carousel-inner"> <div class="item active"> <div class="col-sm-3"> <div class="product-image-wrapper"> <div class="single-products"> <div class="productinfo text-center"> <img src="img/home/recommend1.jpg" alt="" /> <h2>$56</h2> <p> Easy Polo Black Edition </p> <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to cart</a> </div> </div> </div> </div> <div class="col-sm-3"> <div class="product-image-wrapper"> <div class="single-products"> <div class="productinfo text-center"> <img src="img/home/recommend2.jpg" alt="" /> <h2>$56</h2> <p> Easy Polo Black Edition </p> <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to cart</a> </div> </div> </div> </div> <div class="col-sm-3"> <div class="product-image-wrapper"> <div class="single-products"> <div class="productinfo text-center"> <img src="img/home/recommend3.jpg" alt="" /> <h2>$56</h2> <p> Easy Polo Black Edition </p> <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to cart</a> </div> </div> </div> </div> </div> <div class="item"> <div class="col-sm-3"> <div class="product-image-wrapper"> <div class="single-products"> <div class="productinfo text-center"> <img src="img/home/recommend1.jpg" alt="" /> <h2>$56</h2> <p> Easy Polo Black Edition </p> <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to cart</a> </div> </div> </div> </div> <div class="col-sm-3"> <div class="product-image-wrapper"> <div class="single-products"> <div class="productinfo text-center"> <img src="img/home/recommend2.jpg" alt="" /> <h2>$56</h2> <p> Easy Polo Black Edition </p> <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to cart</a> </div> </div> </div> </div> <div class="col-sm-3"> <div class="product-image-wrapper"> <div class="single-products"> <div class="productinfo text-center"> <img src="img/home/recommend3.jpg" alt="" /> <h2>$56</h2> <p> Easy Polo Black Edition </p> <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to cart</a> </div> </div> </div> </div> </div> </div> <a class="left recommended-item-control" href="#recommended-item-carousel" data-slide="prev"> <i class="fa fa-angle-left"></i> </a> <a class="right recommended-item-control" href="#recommended-item-carousel" data-slide="next"> <i class="fa fa-angle-right"></i> </a> </div>