Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
992 views
in Technique[技术] by (71.8m points)

jquery - Bootstrap carousel move single item in one click

I have this carousel

$('#myCarousel').carousel({
  interval: 4000
})

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

  for (var i=0;i<2;i++) {
    next=next.next();
    if (!next.length) {
      next = $(this).siblings(':first');
    }

    next.children(':first-child').clone().appendTo($(this));
  }
});
.carousel-inner .active.left { left: -25%; }
.carousel-inner .next        { left:  25%; }
.carousel-inner .prev { left: -25%; }
.carousel-control  { width:  4%; }
.carousel-control.left,.carousel-control.right {margin-left:15px;background-image:none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<div class="col-md-12 text-center"><h3>Bootstrap 3 Multiple Slide Carousel</h3></div>
<div class="col-md-6 col-md-offset-3">
  <div class="carousel slide" id="myCarousel">
    <div class="carousel-inner">
      <div class="item active">
        <div class="col-xs-3"><a href="#"><img src="http://placehold.it/500/e499e4/fff&amp;text=1" class="img-responsive"></a></div>
      </div>
      <div class="item">
        <div class="col-xs-3"><a href="#"><img src="http://placehold.it/500/e477e4/fff&amp;text=2" class="img-responsive"></a></div>
      </div>
      <div class="item">
        <div class="col-xs-3"><a href="#"><img src="http://placehold.it/500/eeeeee&amp;text=3" class="img-responsive"></a></div>
      </div>
      <div class="item">
        <div class="col-xs-3"><a href="#"><img src="http://placehold.it/500/f4f4f4&amp;text=4" class="img-responsive"></a></div>
      </div>
      <div class="item">
        <div class="col-xs-3"><a href="#"><img src="http://placehold.it/500/f566f5/333&amp;text=5" class="img-responsive"></a></div>
      </div>
      <div class="item">
        <div class="col-xs-3"><a href="#"><img src="http://placehold.it/500/f477f4/fff&amp;text=6" class="img-responsive"></a></div>
      </div>
      <div class="item">
        <div class="col-xs-3"><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-3"><a href="#"><img src="http://placehold.it/500/fcfcfc/333&amp;text=8" class="img-responsive"></a></div>
      </div>
    </div>
    <a class="left carousel-control" href="#myCarousel" data-slide="prev"><i class="glyphicon glyphicon-chevron-left"></i></a>
    <a class="right carousel-control" href="#myCarousel" data-slide="next"><i class="glyphicon glyphicon-chevron-right"></i></a>
  </div>
</div>
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

For some reason snippet is not showing the exact result. Please check the fiddle

FIDDLE (clean and working version)

$('#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));
  }
});
#myCarousel .carousel-inner .active.left {
  left: -33%;
}
#myCarousel .carousel-inner .active.right {
  left: 33%;
}
#myCarousel .carousel-inner .next {
  left: 33%;
}
#myCarousel .carousel-inner .prev {
  left: -33%;
}
#myCarousel .carousel-control.left {
  background-image: none;
}
#myCarousel .carousel-control.right {
  background-image: none;
}
#myCarousel .carousel-inner .item {
  background: white;
  transition: all ease .5s;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/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=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=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=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=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=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=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>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...