今天想用bootstrap做一個輪播,當輪播滾到每張圖的時候,在頁面下面就顯示相對應的內容,那么問題來了:我肯定需要知道當前活動(顯示圖片)的索引號,那么bootstrap的輪播組件要怎么獲得這個索引號呢~查了bootstrap文檔,並沒有看到,又看了b的js源碼,找到個getActiveIndex()的方法,正是我需要的:
------適用於bootsrap v3.0.2其他版本不確定--------
具體用法如下:
1.html代碼:(與bootsrap文檔中的一毛一樣。)
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel"> <!-- Indicators --> <ol class="carousel-indicators"> <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li> <li data-target="#carousel-example-generic" data-slide-to="1"></li> <li data-target="#carousel-example-generic" data-slide-to="2"></li> </ol> <!-- Wrapper for slides --> <div class="carousel-inner"> <div class="item active" id="t1"> <img src="../imgs/0fool.jpg" alt="..."> <div class="carousel-caption"> <h3>標題1</h3> <p>para1</p> </div> </div> <div class="item" id="t2"> <img src="../imgs/1magician.jpg" alt="..."> <div class="carousel-caption"> <h3>標題2</h3> <p>para2</p> </div> </div> <div class="item" id="t3"> <img src="../imgs/2high-priestess.jpg" alt="..."> <div class="carousel-caption"> <h3>標題3</h3> <p>para3</p> </div> </div> </div> <!-- Controls --> <a class="left carousel-control" href="#carousel-example-generic" data-slide="prev"> <span class="glyphicon glyphicon-chevron-left"></span> </a> <a class="right carousel-control" href="#carousel-example-generic" data-slide="next"> <span class="glyphicon glyphicon-chevron-right"></span> </a> </div>
2。js代碼:
監聽slide.bs.carousel事件。每當輪播圖滾動一次,便觸發一次:
$('#carousel-example-generic').on('slide.bs.carousel', function () {
var carouselData = $(this).data('bs.carousel');
var currentIndex = carouselData.getActiveIndex();//當前圖片的索引,注意:這並不是下一張圖的索引號
var items = carouselData.$items;//所有圖片的包裹div的數組
});
注意:
(1).這個索引是從0開始的。
(2).getActiveIndex()獲得索引,是當前的索引,並不是下一張圖的索引:例如:我從第一張圖滑到第二張圖時,會觸發這個事件,然后顯示的index是0
(3).items獲得的是一個數組,數組元素是class為.item的div元素。你可以打印出來看看