1. 程式人生 > >Bootstrap之Carousel不能自動播放的解決辦法

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

以上經驗僅供參考:)