首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bootstrap 4多轮播显示4个图像而不是3个

Bootstrap 4多轮播显示4个图像而不是3个
EN

Stack Overflow用户
提问于 2018-02-06 05:00:49
回答 1查看 14.7K关注 0票数 2

我想不出如何让它显示4张图片而不是3张。

Based on this Code: Bootstrap 4 Multiple Item Carousel

脚本JS

代码语言:javascript
复制
$('#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

代码语言:javascript
复制
.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);
}

我已经改成了下面的代码

代码语言:javascript
复制
<div class="carousel-item col-md-3">

而不是这个原始代码

代码语言:javascript
复制
<div class="carousel-item col-md-4">
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-06 05:17:51

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

代码语言:javascript
复制
.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的变化是:

代码语言:javascript
复制
$('.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

注意:从Alpha6(当最初的问题被问到时)到flexbox Bootstrap 4.0.0,活动的carousel-item更改为。因此,必须对多轮播中的相邻项执行相同的操作。

代码语言:javascript
复制
.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)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48631386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档