Bootstrap Carousel(轮播插件)

来源:互联网 发布:华为网络基础知识 编辑:程序博客网 时间:2024/05/02 00:33

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

代码:

<!DOCTYPE html>
       <html>
       <head>
       <title>Bootstrap 实例 - 轮播(Carousel)插件的标题</title>
       <link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
       <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
       <script src="http://libs.baidu.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
       </head>
       <body>

       <div id="myCarousel" class="carousel slide" data-ride="carousel">
       <!-- 轮播(Carousel)指标 -->
       <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>
       </ol>   
       <!-- 轮播(Carousel)项目 -->
       <div class="carousel-inner">
       <div class="item active">
       <img src="/wp-content/uploads/2014/07/slide1.png" alt="First slide">
       <div class="carousel-caption">标题 1</div>
       </div>
       <div class="item">
       <img src="/wp-content/uploads/2014/07/slide2.png" alt="Second slide">
       <div class="carousel-caption">标题 2</div>
       </div>
       <div class="item">
       <img src="/wp-content/uploads/2014/07/slide3.png" alt="Third slide">
       <div class="carousel-caption">标题 3</div>
       </div>
       </div>
       <!-- 轮播(Carousel)导航 -->
       <a class="carousel-control left" href="#myCarousel" 
       data-slide="prev">&lsaquo;</a>
       <a class="carousel-control right" href="#myCarousel" 
       data-slide="next">&rsaquo;</a>
       </div> 
       </body>
       </html>

0 0