Bootstrap之Carousel 不会自动滚动的解决办法

Bootstrap是一个非常好的css/javaScript框架,尤其对于移动端的自适应和适配能力都比较强。昨天用Bootstrap自带的Carousel写了一个图片轮播的广告部分,用js调用后却出现了不能自动播放的问题。


查了一下,发现真的有不少人问Bootstrap的Carousel组件不能自动播放的问题,这里要注意几个问题:


先看一下Carousel的正确写法(代码,这里使用的是Bootstrap 3.2版本):



<div id="carousel-ad" class="carousel slide" data-ride="carousel">
    <ol class="carousel-indicators">
      <li data-target="#carousel-ad" data-slide-to="0" class="active"></li>
      <li data-target="#carousel-ad" data-slide-to="1"></li>
      <li data-target="#carousel-ad" data-slide-to="2"></li>
    </ol>
    <div class="carousel-inner" role="listbox">
      <div class="item active"><img class="img-responsive" src="images/pic01.jpg"></div>
      <div class="item"><img class="img-responsive" src="images/pic02.jpg"></div>
      <div class="item"><img class="img-responsive" src="images/pic03.jpg"></div>
    </div>
  </div>

1、首先注意的部分是data-ride="carousel"

默认使用Bootstrap的Carousel组件,只需要加上 data-ride="carousel" 就可以实现自动播放了。无需使用初始化的js函数。所以,如果carousel不会自动播放,那么首先检查这个部分。这里还能加其他参数,比如是设置图片轮转的时间间隔。

代码:


<div id="carousel-ad" class="carousel slide" data-ride="carousel" data-interval="2000">

2、其实还有手动初始化carousel组件的方法

这个方法在Bootstrap 2.x就在使用,当 data-ride="carousel" 这个方法不管用的时候,可以手动初始化一下。代码如下:

$('#carousel-ad').carousel();

如果还想控制图片轮转的时间间隔,还有参数:

$(function(){
    $('#carousel-ad').carousel({
      interval: 3000
    });
});

如果设置不自动播放,还可以:

$('#carousel-ad').carousel({
pause: true,
interval: false
});

以上经验仅供参考:)


posted @ 2015-08-30 14:22:00 kuye 阅读(55922) 评论(3)
发表评论
昵称
邮箱
网址

  1. #1楼 2017-05-02 20:18 沐风饮露 Windows 7 Chrome 55.0.2883.87 中国 江苏省 苏州市 电信


    音乐盒子怎么实现的?

    1. #2楼 [楼主] 2017-05-02 20:20 kuye Windows 10.0 Chrome 57.0.2987.98 中国 江苏省 苏州市 电信
  2. #2楼 2017-05-02 20:11 沐风饮露 Windows 7 Chrome 55.0.2883.87 中国 江苏省 苏州市 电信


    哈哈,音乐盒子厉害了,nice