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