JSFiddle - React, Tailwind, and code Playground

by Glynne Turner

HTML

<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css">
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<div id="myCarousel" class="carousel slide">
  
  <div class="carousel-inner">
    <div class="item active">
      <div class="col-xs-4"><a href="#"><img src="http://placehold.it/500/bbbbbb/fff&amp;text=blog 1" class="img-responsive"></a></div>
    </div>
    <div class="item">
      <div class="col-xs-4"><a href="#"><img src="http://placehold.it/500/CCCCCC&amp;text=blog 2" class="img-responsive"></a></div>
    </div>
    <div class="item">
      <div class="col-xs-4"><a href="#"><img src="http://placehold.it/500/eeeeee&amp;text=blog 3" class="img-responsive"></a></div>
    </div>
    <div class="item">
      <div class="col-xs-4"><a href="#"><img src="http://placehold.it/500/f4f4f4&amp;text=blog 4" class="img-responsive"></a></div>
    </div>
    <div class="item">
      <div class="col-xs-4"><a href="#"><img src="http://placehold.it/500/fcfcfc/333&amp;text=blog 5" class="img-responsive"></a></div>
    </div>
    <div class="item">
      <div class="col-xs-4"><a href="#"><img src="http://placehold.it/500/f477f4/fff&amp;text=blog 6" class="img-responsive"></a></div>
    </div>
  </div>

  <!-- Controls -->
  <a class="left carousel-control" href="#myCarousel" 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="#myCarousel" role="button" data-slide="next">
    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>

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

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));
  }
});