Bootstrap карусель сразу несколько кадров

Это тот эффект, которого я пытаюсь достичь с помощью карусели Bootstrap 3.

введите описание изображения здесь

Вместо того, чтобы просто показывать по одному кадру за раз, он отображает N кадров подряд. Затем, когда вы скользите (или когда он скользит автоматически), он перемещает группу слайдов, как это происходит.

Можно ли это сделать с помощью карусели bootstrap 3? Надеюсь, мне не придется искать очередной плагин jQuery ...


person rodrigo-silveira    schedule 15.11.2013    source источник
comment
Извините, уже адаптированный Bootstrap 4, но легко изменить stackoverflow.com/a/42098033/4796923   -  person Oleg V Karun    schedule 07.02.2017
comment
Есть новое решение этой проблемы с использованием Slick Carousel Кена Уиллера, которое проще в реализации и более элегантно, чем эти. Просмотрите ответ @joshmoto с полным кодом здесь ›stackoverflow.com/a/54263516/345605   -  person ganar    schedule 24.01.2020
comment
@ganar спасибо, я разместил здесь решение Bootstrap 3 и 4 Slick ...   -  person joshmoto    schedule 19.02.2021


Ответы (12)


Можно ли это сделать с помощью карусели bootstrap 3? Надеюсь, мне не придется искать еще один плагин jQuery

По состоянию на 08.12.2013 ответ отрицательный. Эффект, который вы ищете, невозможен при использовании универсального плагина карусели Bootstrap 3. Однако вот простой плагин jQuery, который, кажется, делает именно то, что вы хотите http://sorgalla.com/jcarousel/

person Snake Verde    schedule 08.12.2013

Все вышеперечисленные решения хакерские и содержат ошибки. Даже не пытайся. Используйте другие библиотеки. Лучшее, что я нашел - http://sachinchoolur.github.io/lightslider Отлично работает с бутстрапом, не добавляет ненужный html, легко настраиваемый, отзывчивый, удобный для мобильных устройств и т. д.

$('.multi-item-carousel').lightSlider({
    item: 4,
    pager: false,
    autoWidth: false,
    slideMargin: 0
});
person ymakux    schedule 22.03.2016
comment
Большое спасибо, очень полезная библиотека :) - person GuiPab; 07.10.2016
comment
Некоторые из этих библиотек слайдеров действительно затмевают то, что предлагает bootstrap, даже 4. Спасибо, что поделился. - person KhoPhi; 05.01.2018
comment
Ползунок дублирует слайды. См. Пример кода слайдеров на их веб-сайте. - person Marinski; 22.01.2019
comment
Это мертвый проект со слишком большим количеством открытых вопросов. (проверьте их github) - person Osama Rashid; 19.02.2020
comment
это работает для меня - person Anthony Kal; 13.07.2021

Это рабочий бутстрап для твиттера 3.

Вот 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));
    }
});

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

Вы можете увидеть это в действии на этом Jsfiddle.

Причина, по которой я добавил этот ответ, потому что другие не работают полностью. Я обнаружил в них 2 ошибки, одна из них заключалась в том, что стрелка влево создавала странный эффект, а другая касалась выделения текста жирным шрифтом в некоторых ситуациях, который можно решить, установив цвет фона, чтобы нижний элемент не был виден во время перехода эффект.

person paulalexandru    schedule 21.01.2015
comment
Спасибо, что поделились ... Однако я вижу некоторое мерцание в Firefox. - person Elon Zito; 05.03.2015
comment
@paulalexandru как увеличить количество изображений в видимой строке? - person jack wolier; 08.05.2015
comment
Что ж, если у вас есть 4 элемента в вашем css, вы должны изменить 33% на 25%, и вам также нужно внести небольшие изменения в javascript. Если вам не удастся решить эту проблему, задайте вопрос, и я опубликую там полный ответ. - person paulalexandru; 08.05.2015
comment
Это отличное решение! Спасибо! - person raiderrobert; 05.06.2015
comment
есть ли динамическое решение для переменного x количества изображений (а не только 3, 33%)? - person serge; 27.01.2016
comment
Маби есть, но это более сложное решение, если вы зададите вопрос по этому поводу, я могу попробовать что-то создать. - person paulalexandru; 28.01.2016
comment
@paulalexandru, исходный вопрос требует слайдов N кадров, так что на самом деле это был бы реальный ответ на этот вопрос. - person tehlivi; 03.05.2016
comment
@tehlivi, да так в чем проблема, потому что я не понимаю. Он просил N кадров, но на его картинке, прикрепленной к вопросу, отображаются 3 кадра. Если вы хотите иметь 4,5,6, .. N, все, что вам нужно сделать, это настроить значения css, это очень просто. - person paulalexandru; 04.05.2016
comment
@paulalexandru Если вы обновили свою скрипку, чтобы показать 4 вместо 3, вам нужно будет изменить js, html и css. Js отображает только одно дополнительное изображение вместо двух. - person tehlivi; 04.05.2016
comment
@tehlivi Почему вы показываете 4 из 3, если на изображении, прикрепленном к этому вопросу, отображаются 3 изображения, а не 4? Если вы хотите 4, вы меняете код на отображение 4, в чем проблема? Принцип имеет значение, братан. - person paulalexandru; 05.05.2016
comment
@paulalexandru Я просто использовал 4 в качестве примера. Я понимаю, что изображение показывает 3. Однако OP написал N. Вы сказали, что все, что вам нужно сделать для увеличения количества изображений, - это просто изменить CSS, что не является полной информацией для всех, кто может задать этот вопрос. Версия Bootstrap в любом случае устарела для новых каруселей. (Я бы хотел, чтобы мы навсегда избавились от всех каруселей) - person tehlivi; 05.05.2016
comment
@tehlivi, любой, кто имеет минимальные знания javascript, css и html, может понять это на основе моего ответа. Если вы не можете этого сделать, я предлагаю вам задать еще один вопрос. Карусели с N элементами нет. Есть только карусели с 2,3,4 ... элементами. Поэтому, когда вы публикуете вопрос, вы будете писать точное число, а не N, потому что вы с самого начала знаете, как будет выглядеть ваша карусель, сколько элементов будет в ней. И это также относится к этому примеру, он знал, что ему нужны 3 элемента. - person paulalexandru; 10.05.2016
comment
Большое спасибо. Это мне очень помогло. Я создаю настраиваемую тему начальной загрузки для сайта drupal 8 на основе темы Barrio. Когда дело доходит до настройки карусели, у него не так много возможностей. Предоставленные вами JS и CSS работали как по волшебству. Мне пришлось немного изменить код, чтобы он соответствовал моим требованиям, но в целом он работал фантастически. Большое спасибо @paulalexandru - person sylvery; 08.08.2019
comment
Как остановить карусель на последнем слайде? не хочу снова добавлять первый. - person Ankit Jain; 20.01.2020

Обновление 2019-03-06 - Bootstrap v4.3.1

Кажется, что новая версия Bootstrap добавляет margin-right: -100% к каждому элементу, поэтому в адаптивном решении, приведенном в ответе, получившем наибольшее количество голосов здесь , это свойство следует сбросить, например:

.carousel-inner .carousel-item {
    margin-right: inherit;
}

Рабочий codepen с v4.3.1 в LESS.

person CPHPython    schedule 06.03.2019
comment
Да благословит тебя Бог, ахаха - person Alberto Bellini; 05.05.2019
comment
Для тех, кто борется с приведенным выше лучшим выбранным ответом, этот ответ, в частности ссылка на код, отлично работает с использованием bootstrap v4.4.0. После небольшой настройки вы можете легко заставить его работать с 4 видимыми слайдами или чем угодно, что вам нужно. Спасибо за публикацию. - person crdunst; 06.05.2020
comment
Предупреждение всем, кто хочет использовать вышеперечисленное - если вы хотите использовать индикаторы, это полностью ошибочно. - person dalemac; 01.12.2020

Это то, что у меня сработало. Очень простой jQuery и CSS, чтобы адаптивная карусель работала независимо от каруселей на одной странице. Широко настраиваемый, но в основном div с пустым пространством nowrap, содержащий кучу встроенных блочных элементов и помещающий последний в начало, чтобы переместиться назад, или первый в конец, чтобы двигаться вперед. Спасибо 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>

person Community    schedule 08.04.2015
comment
Спасибо, крошечный великан, не могли бы вы помочь мне с «индикаторами карусели» в вашем ответе. и включение / выключение функции автоматического слайда. - person Mahi; 29.05.2019

Самый популярный ответ правильный, но я считаю, что код бесполезно сложен. Я считаю, что с тем же css этот код jquery легче понять:

$('#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);
    }
  });
});
person Luke Skywalker    schedule 18.08.2015
comment
У меня это работает, хотя я заметил, что разные элементы расположены вертикально, а не горизонтально, в то время как анимация по-прежнему выполняется горизонтально. - person Don Giulio; 04.03.2016

попробуйте это ..... он работает в моем .... code:

<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>
person Prashant Shastri    schedule 30.12.2014

У меня была та же проблема, и описанные здесь решения работали хорошо. Но я хотел поддержать изменение размера окна (и макета). В результате получилась небольшая библиотека, которая решает все вычисления. Проверьте это здесь: https://github.com/SocialbitGmbH/BootstrapCarouselPageMerger

Чтобы сценарий заработал, вам нужно добавить новую <div> оболочку с классом .item-content прямо в ваш .item <div>. Пример:

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

Использование этой библиотеки:

socialbitBootstrapCarouselPageMerger.run('div.carousel');

Чтобы изменить настройки:

socialbitBootstrapCarouselPageMerger.settings.spaceCalculationFactor = 0.82;

Пример:

Как видите, карусель обновляется, чтобы отображать больше элементов управления при изменении размера окна. Проверьте настройку watchWindowSizeTimeout для управления таймаутом реакции на изменение размера окна.

person Thomas Kekeisen    schedule 16.01.2015

Я видел ваши вопросы и ответы и создал новую адаптивную и гибкую многоэлементную карусель Gist. Вы можете видеть это здесь:

https://gist.github.com/IVIR3zaM/d143a361e61459146ae7c68ce86b066e

person IVIR3zaM    schedule 13.04.2017

Вы можете добавить несколько тегов li в ol, у которых есть атрибут как класс со значением «carousel-sizes», а с data-slide-to - последовательные значения, такие как от 0 до 6 или от 0 до 9.

чем вам просто нужно скопировать и вставить div, который имеет атрибут как класс со значением «item».

У меня это работает.

<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>
person Hemant_R_D    schedule 06.04.2015
comment
вы можете показать нам бутсы ?? это не работает, и я не понимаю, что вы хотите здесь делать ?? - person azerafati; 17.07.2015

Ссылка на ссылку выше. Я добавил 1 новую вещь под названием показывать по 4, сдвигать по одному для начальной загрузки 3 (v3.3.7)

CODEPLY: - https://www.codeply.com/go/eWUbGlspqU < / а>

ЖИВЫЙ СНИПЕТ

(function(){
  $('#carousel123').carousel({ interval: 2000 });
}());

(function(){
  $('.carousel-showmanymoveone .item').each(function(){
    var itemToClone = $(this);

    for (var i=1;i<4;i++) {
      itemToClone = itemToClone.next();

      // wrap around if at end of item collection
      if (!itemToClone.length) {
        itemToClone = $(this).siblings(':first');
      }

      // grab item, clone, add marker class, add to collection
      itemToClone.children(':first-child').clone()
        .addClass("cloneditem-"+(i))
        .appendTo($(this));
    }
  });
}());
body {
    margin-top: 50px;
}

.carousel-showmanymoveone .carousel-control {
  width: 4%;
  background-image: none;
}
.carousel-showmanymoveone .carousel-control.left {
  margin-left: 15px;
}
.carousel-showmanymoveone .carousel-control.right {
  margin-right: 15px;
}
.carousel-showmanymoveone .cloneditem-1,
.carousel-showmanymoveone .cloneditem-2,
.carousel-showmanymoveone .cloneditem-3 {
  display: none;
}
@media all and (min-width: 768px) {
  .carousel-showmanymoveone .carousel-inner > .active.left,
  .carousel-showmanymoveone .carousel-inner > .prev {
    left: -50%;
  }
  .carousel-showmanymoveone .carousel-inner > .active.right,
  .carousel-showmanymoveone .carousel-inner > .next {
    left: 50%;
  }
  .carousel-showmanymoveone .carousel-inner > .left,
  .carousel-showmanymoveone .carousel-inner > .prev.right,
  .carousel-showmanymoveone .carousel-inner > .active {
    left: 0;
  }
  .carousel-showmanymoveone .carousel-inner .cloneditem-1 {
    display: block;
  }
}
@media all and (min-width: 768px) and (transform-3d), all and (min-width: 768px) and (-webkit-transform-3d) {
  .carousel-showmanymoveone .carousel-inner > .item.active.right,
  .carousel-showmanymoveone .carousel-inner > .item.next {
    -webkit-transform: translate3d(50%, 0, 0);
            transform: translate3d(50%, 0, 0);
    left: 0;
  }
  .carousel-showmanymoveone .carousel-inner > .item.active.left,
  .carousel-showmanymoveone .carousel-inner > .item.prev {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
    left: 0;
  }
  .carousel-showmanymoveone .carousel-inner > .item.left,
  .carousel-showmanymoveone .carousel-inner > .item.prev.right,
  .carousel-showmanymoveone .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    left: 0;
  }
}
@media all and (min-width: 992px) {
  .carousel-showmanymoveone .carousel-inner > .active.left,
  .carousel-showmanymoveone .carousel-inner > .prev {
    left: -25%;
  }
  .carousel-showmanymoveone .carousel-inner > .active.right,
  .carousel-showmanymoveone .carousel-inner > .next {
    left: 25%;
  }
  .carousel-showmanymoveone .carousel-inner > .left,
  .carousel-showmanymoveone .carousel-inner > .prev.right,
  .carousel-showmanymoveone .carousel-inner > .active {
    left: 0;
  }
  .carousel-showmanymoveone .carousel-inner .cloneditem-2,
  .carousel-showmanymoveone .carousel-inner .cloneditem-3 {
    display: block;
  }
}
@media all and (min-width: 992px) and (transform-3d), all and (min-width: 992px) and (-webkit-transform-3d) {
  .carousel-showmanymoveone .carousel-inner > .item.active.right,
  .carousel-showmanymoveone .carousel-inner > .item.next {
    -webkit-transform: translate3d(25%, 0, 0);
            transform: translate3d(25%, 0, 0);
    left: 0;
  }
  .carousel-showmanymoveone .carousel-inner > .item.active.left,
  .carousel-showmanymoveone .carousel-inner > .item.prev {
    -webkit-transform: translate3d(-25%, 0, 0);
            transform: translate3d(-25%, 0, 0);
    left: 0;
  }
  .carousel-showmanymoveone .carousel-inner > .item.left,
  .carousel-showmanymoveone .carousel-inner > .item.prev.right,
  .carousel-showmanymoveone .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    left: 0;
  }
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<div class="carousel carousel-showmanymoveone slide" id="carousel123">
	<div class="carousel-inner">
		<div class="item active">
			<div class="col-xs-12 col-sm-6 col-md-3"><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-6 col-md-3"><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-6 col-md-3"><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-6 col-md-3"><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-6 col-md-3"><a href="#"><img src="http://placehold.it/500/0054A6/fff/&amp;text=5" class="img-responsive"></a></div>
		</div>
		<div class="item">
			<div class="col-xs-12 col-sm-6 col-md-3"><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-6 col-md-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-12 col-sm-6 col-md-3"><a href="#"><img src="http://placehold.it/500/40a1ff/002040&amp;text=8" class="img-responsive"></a></div>
		</div>
	</div>
	<a class="left carousel-control" href="#carousel123" data-slide="prev"><i class="glyphicon glyphicon-chevron-left"></i></a>
	<a class="right carousel-control" href="#carousel123" data-slide="next"><i class="glyphicon glyphicon-chevron-right"></i></a>
</div>

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

person Nisharg Shah    schedule 21.01.2019

person    schedule
comment
Спасибо. Это выглядит намного лучше ... но кажется немного странным. прокрутка влево, похоже, не работает, поскольку она прокручивает несколько блоков за раз, и порядок кажется неправильным. Прокрутка вправо работает нормально (хотя и в неправильном направлении). Проблема, с которой я столкнулся, заключается в том, что создается много дубликатов, что не так уж плохо ... но не так хорошо ... поэтому для каждого элемента, который у меня есть (6 в вашем случае), этот сценарий создает N дубликатов (где N = блоков, отображаемых в кадре). - person rodrigo-silveira; 16.11.2013
comment
@Skelly Должна ли та же самая логика работать, если есть четыре элемента? Я пытался изменить bootply, но это не сработало так, как мне нужно :( - person Zentaurus; 23.05.2014
comment
@ rodrigo-silveira, я исправил ошибку прокрутки влево. Оформите вилку с отсутствующим стилем .carousel-inner .active.right { left: 33%; }. - person Anthony Accioly; 23.07.2014
comment
@Zentaurus, я знаю, что уже поздно, но посмотрите пример четырех элементов. Я адаптировал логику Скелли для вопроса SOpt . - person Anthony Accioly; 23.07.2014
comment
Я полностью переработал ответ для 3.x и новую карусель 4.x - person Zim; 18.05.2017
comment
Спасибо за этот ответ. Обратите внимание, что он не работает в Bootstrap 4.1. Вот пример, где он не работает должным образом. codeply.com / go / abl0iCMUOE - person Junior; 30.10.2018
comment
@MikeA Это не работает, потому что это неправильный CSS / JS, как показано в ответе. Это должно выглядеть так: codeply.com/go/RncxxzycWg - person Zim; 30.10.2018
comment
@Zim, в этой демонстрации отображается 1 слайд. Я надеюсь показать 3 или 4 (столько, сколько поместится экран), а затем показать 1 элемент после этого. - person Junior; 30.10.2018
comment
@Junior Точно, в последней версии (4.3.1) единственное, что заставило меня работать, это регулировка поля, описанная в другом ответе здесь. - person Armfoot; 06.08.2019
comment
@ Codeply-er все ссылки в ответе не работают. Вы можете обновить их, пожалуйста? Спасибо. - person AGB; 12.05.2020
comment
@ Codeply-er, должно быть, был Codeply! Раньше я получал 500 ошибок по всем ссылкам. Спасибо - отличный ответ. - person AGB; 12.05.2020
comment
Может ли кто-нибудь объяснить код CSS для отзывчивой карусели? - person Prateek Gupta; 14.06.2021