Twitter Bootstrap Carousel插件可以在幻灯片转换时淡入淡出

gen*_*ion 67 jquery carousel twitter-bootstrap

我在我正在开发的网站上有一个非常基本的Twitter Bootstrap Carousel插件实现(http://furnitureroadshow.com/).我只是想知道是否有人扩展了Carousel插件,以便它在幻灯片转换中消失并淡出?

我在github.com(https://github.com/twitter/bootstrap/issues/2050)上发现了这个问题#2050,这似乎表明在这一点上,它是不可能的.只是想看看它是否已经或已经完成.

Str*_*ent 127

是.Bootstrap使用CSS转换,因此无需任何Javascript即可轻松完成.

CSS:

.carousel .item {-webkit-transition: opacity 3s; -moz-transition: opacity 3s; -ms-transition: opacity 3s; -o-transition: opacity 3s; transition: opacity 3s;}
.carousel .active.left {left:0;opacity:0;z-index:2;}
.carousel .next {left:0;opacity:1;z-index:1;}
Run Code Online (Sandbox Code Playgroud)

然而,我注意到转换结束事件过早地触发,默认间隔为5秒,淡入淡出过渡为3秒.将轮播间隔转换为8s可提供良好的效果.

很顺利.

  • 你需要添加`.carousel .active.right`来考虑移动通过画廊的其他方式,谢谢你正确的方向. (9认同)
  • 请注意,使用css转换需要CSS3,只有现代浏览器才支持 (4认同)
  • 相当不错的创新,它有助于推广CSS3,并"鼓励"用户使用糟糕的浏览器进行更新.:-) (4认同)

Rob*_*Kee 75

是.虽然我使用以下代码.

.carousel.fade
{
    opacity: 1;

    .item
    {
        -moz-transition: opacity ease-in-out .7s;
        -o-transition: opacity ease-in-out .7s;
        -webkit-transition: opacity ease-in-out .7s;
        transition: opacity ease-in-out .7s;
        left: 0 !important;
        opacity: 0;
        top:0;
        position:absolute;
        width: 100%;
        display:block !important;
        z-index:1;
        &:first-child{
            top:auto;
            position:relative;
        }

        &.active
        {
            opacity: 1;
            -moz-transition: opacity ease-in-out .7s;
            -o-transition: opacity ease-in-out .7s;
            -webkit-transition: opacity ease-in-out .7s;
            transition: opacity ease-in-out .7s;
            z-index:2;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后将旋转木马上的班级从"旋转木马幻灯片"更改为"旋转木马淡入淡出".这适用于safari,chrome,firefox和IE 10.它将在IE 9中正确降级,但是,不会发生漂亮的面部效果.

编辑:由于这个答案已经变得如此受欢迎,我添加了以下重写为纯CSS而不是上面的LESS:

.carousel.fade {
  opacity: 1;
}
.carousel.fade .item {
  -moz-transition: opacity ease-in-out .7s;
  -o-transition: opacity ease-in-out .7s;
  -webkit-transition: opacity ease-in-out .7s;
  transition: opacity ease-in-out .7s;
  left: 0 !important;
  opacity: 0;
  top:0;
  position:absolute;
  width: 100%;
  display:block !important;
  z-index:1;
}
.carousel.fade .item:first-child {
  top:auto;
  position:relative;
}
.carousel.fade .item.active {
  opacity: 1;
  -moz-transition: opacity ease-in-out .7s;
  -o-transition: opacity ease-in-out .7s;
  -webkit-transition: opacity ease-in-out .7s;
  transition: opacity ease-in-out .7s;
  z-index:2;
}
Run Code Online (Sandbox Code Playgroud)

  • 我编写了上面的内容来添加z-indexing,它可以解决你的标题问题.我注意到,当试图确定当前正在显示哪个幻灯片时(导航点),引导代码专门查找幻灯片类.它仍然有效,但是时间与幻灯片有点不同.它会立即将导航点更改为传入的点,而不是等待过渡效果完成,无论如何我更喜欢.只是想我会指出奇怪的,以防它惹你生气. (3认同)
  • 我尝试了许多其他适用于很多人的答案,但出于某种原因,这是唯一一个对我有用的答案.当我有片刻时,我将不得不调查...... (2认同)
  • 注意:这看起来不像CSS - 它可能很少,所以需要编译. (2认同)

Jen*_*och 19

是.Bootstrap使用CSS转换,因此无需任何Javascript即可轻松完成.只需使用CSS3.请看一下

carousel.carousel-fade
Run Code Online (Sandbox Code Playgroud)

在以下示例的CSS中: