carousel - Bootstrap 4 Multi Carousel 显示 4 张图像而不是 3 张

标签 carousel bootstrap-4

我不知道如何让它显示 4 个图像而不是 3 个。

Based on this Code: Bootstrap 4 Multiple Item Carousel

脚本JS

$('#recipeCarousel').carousel({
  interval: 10000
})

$('.carousel .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 .carousel-item-right.active,
.carousel-inner .carousel-item-next {
transform: translateX(25%);
}

.carousel-inner .carousel-item-left.active, 
.carousel-inner .carousel-item-prev {
transform: translateX(-25%)
}

.carousel-inner .carousel-item-right,
.carousel-inner .carousel-item-left{ 
transform: translateX(0);
}

我已更改为此代码

<div class="carousel-item col-md-3">

代替原来的代码

<div class="carousel-item col-md-4">

最佳答案

由于 4 列,宽度为 25%(而不是 33%),因此更改 CSS:

.carousel-inner .carousel-item-right.active,
.carousel-inner .carousel-item-next {
  transform: translateX(25%);
}

.carousel-inner .carousel-item-left.active, 
.carousel-inner .carousel-item-prev {
  transform: translateX(-25%)
}

此外,还需要将一个附加项目克隆到每张幻灯片中。所以JS的改动是:

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

Bootstrap 4.0.0 Demo - 4 slides, advance 1

注意:从 alpha 6(提出原始问题时)到 Bootstrap 4.0.0,事件的轮播项更改为 Flexbox。因此,必须对多轮播中的相邻项目执行相同的操作。

.carousel-inner .carousel-item.active,
.carousel-inner .carousel-item-next,
.carousel-inner .carousel-item-prev {
  display: flex;
}

另请参阅:Bootstrap 4.1.0 (advance all 4 at once)

关于carousel - Bootstrap 4 Multi Carousel 显示 4 张图像而不是 3 张,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48631386/

相关文章:

html - CSS 下拉菜单 + 旋转木马

javascript - BootStrap 3 轮播无法正常工作

javascript - 使用jquery在同一方向连续滚动 slider

javascript - 使用react-bootstrap从数组动态创建下拉菜单选项

javascript - 如何制作 html 'tabbable' 的一部分? (模态对话框)

javascript - owl-carousel box-shadow 添加白色边框

html - 如何使图片填充整个容器并在 Bootstrap 中保持适当的纵横比?

指针光标的 CSS 类

bootstrap-4 - 带有导航选项卡的 Bootstrap (4.3.1) 卡 - 我需要自动选择 "default"选项卡