Bootstrap карусель переместить один предмет в один клик

У меня есть эта карусель

$('#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>

https://jsfiddle.net/r5twtm22/

это работает нормально.

Мне нужно переместить только одно изображение одновременно. Его перемещение всех 4 изображений ..

 Håkan06 июн. 2016 г., 07:22
что ты имеешь в виду? Вы хотите показать только одно изображение? потому что если вы перемещаете одно, вы должны перемещать остальных ...
 Mosh Feu06 июн. 2016 г., 07:34
Вы можете увидеть что-то вроде вашего в этомручка
 Atul Sharma06 июн. 2016 г., 07:38
@MoshFeu также пытался использовать это ... Но в системе или в новой скрипке происходит то же самое, сначала она перемещается на все 4, а затем в новую строку с данными 2,3,4,5. Какова может быть возможная причина?
 Håkan06 июн. 2016 г., 07:32
разве это не то же самое?
 Atul Sharma06 июн. 2016 г., 07:25
@ Håkan на самом деле в настоящий момент перемещается вся строка. Например, если отображается 1,2,3,4, то next () сначала переместится влево на 1,2,3,4, а затем появится новый 2,3,4,5. право . Мне нужно двигаться как, если отображается 1,2,3,4, next () переместит 1 из видимой части и добавит 5 сзади.

Ответы на вопрос(2)

Решение Вопроса

а, проверьте скрипку

FIDDLE (чистая и рабочая версия)

$('#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>

 Jinu Kurian06 июн. 2016 г., 07:49
Проверьте скрипку, она работает нормально. Я не знаю, почему эта странная вещь происходит в этом фрагменте. : /
 iamsujit29 авг. 2018 г., 15:13
Это не работает здесь из-за Bootstrap версии 3.3.7. Если вы используете Bootstrap 3.0.0 CSS, то он будет работать отлично.
 StefaDesign02 нояб. 2017 г., 02:32
Создает эффект размытия текста в «элементе» при прокрутке. Есть ли способ избежать размытия текста? Я решил это частично, добавив белый фон к элементу, и этот путь не прозрачен, поэтому вы не можете видеть, как вторая строка скользит позади. Есть идея получше?
 Mosh Feu06 июн. 2016 г., 07:48
Я действительно не думаю, что это результат, которого он ожидал. Зачем вам нужно сдвинуть все элементы? он должен двигаться только один.

скрипка

У меня была та же проблема, и я получил ее, чтобы скользить только по одному элементу за раз, добавив этот код в CSS:

#myCarousel .carousel-inner .item {
  background: white;
  /*transition: transform;*/
  transition: all 500ms ease-out; /* transition is added here */
}

Попробуйте это: JS:

$('#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));
  }
});

CSS:

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

#myCarousel .carousel-inner .item {
  background: white;
  /*transition: transform;*/
  transition: all 500ms ease-out; /* transition is added here */
}

HTML:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <link rel="stylesheet" href="bootstrapCarousel.css">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    <!-- <script type="text/javascript" src="http://twitter.github.io/bootstrap/assets/js/bootstrap-transition.js"></script>
    <script type="text/javascript" src="http://twitter.github.io/bootstrap/assets/js/bootstrap-carousel.js"></script> -->
  </head>
  <body>
  <div class="col-md-12 text-center"><h3>Product Carousel</h3></div>

<div class="col-md-6 col-md-offset-3">
<div class="carousel slide row" data-ride="carousel" data-type="multi" data-interval="3000" id="myCarousel">
  <div class="carousel-inner">
    <div class="item active">
      <div class="col-md-3 col-sm-6 col-xs-12"><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-md-3 col-sm-6 col-xs-12"><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-md-3 col-sm-6 col-xs-12"><a href="#"><img src="http://placehold.it/500/eeeeee&amp;text=3" class="img-responsive" /></a></div>
    </div>
    <div class="item">
      <div class="col-md-3 col-sm-6 col-xs-12"><a href="#"><img src="http://placehold.it/500/f4f4f4&amp;text=4" class="img-responsive" /></a></div>
    </div>
    <div class="item">
      <div class="col-md-3 col-sm-6 col-xs-12"><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-md-3 col-sm-6 col-xs-12"><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-md-3 col-sm-6 col-xs-12"><a href="#"><img src="http://placehold.it/500/eeeeee&amp;text=7" class="img-responsive" /></a></div>
    </div>
    <div class="item">
      <div class="col-md-3 col-sm-6 col-xs-12"><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>

<script src="https://code.jquery.com/jquery-2.0.2.min.js" type="text/javascript"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.1.0/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<script type="text/javascript" src="bootstrapCarousel.js">
</script>
</body>
</html>

Вы также можете сделать переход более плавным, добавивtransition: all 500ms ease-out; к вашему css.

Скрипка здесь:http://jsfiddle.net/eaae76kx/98/

 becca25 сент. 2017 г., 20:46
Вы когда-нибудь обновляли это с переходом? Хотелось бы видеть это добавленным к вашему ответу, чтобы сделать его более плавным.
 Kimmiekim11 мая 2018 г., 21:53
Вы можете добавить `` `переход: все 500 мс замедления;` `` к#myCarousel .carousel-inner .item  в ксс. Я обновил свой ответ. Вы также можете просмотреть Fiddle здесь:jsfiddle.net/eaae76kx/98

Ваш ответ на вопрос