您可以在適當的事件上設置一個事件處理程序,然後根據哪個幻燈片是.current
來做任何事情。例如,觸發一些javascript幻燈片1個週期時:
$(document).on("slid", function(event) {
if ($(event.target).find(".active").data("slide-to") == 1) {
// do stuff
}
});
從一個簡單的測試,這似乎並沒有工作,除非它附着在傳送帶上方的元素(你也只需要修改的東西如果你有一個以上的旋轉木馬,一點點)。
編輯:咋一看後,原因上面並沒有被綁定至轉盤本身的工作是,active
類不添加,直到觸發slid
事件後立即(似乎是,如果處理程序被添加到父元素,active
類被添加,而slid
事件冒泡)。您可以通過使用setTimeout
延遲觸發行爲,解決這個(工作,即使有0
超時):
$("#myCarousel").on("slid", function(event) {
var carousel = $(event.target);
setTimeout(function() {
if (carousel.find(".carousel-indicators .active").data("slide-to") === 1) {
// do stuff
}
}, 0);
});
是否額外的代碼是值得的,是你的,儘管它可能是一個小更穩定。它甚至可能是一個小延遲(而不是0
),以確保事情按照您期望的方式工作。
謝謝!有沒有辦法在'滑動'而不是'文檔'上引用'carousel'?用'carousel'或'#myCarousel'代替它不起作用。 – AAA
是的,我注意到當我做了一個快速測試,如果它連接到旋轉木馬本身,它不起作用,但我不完全確定爲什麼。任何更高級別的元素都應該可以工作,所以我不知道它是否可以將它綁定到傳送帶的父級或者什麼(我只是使用'document'作爲例子)。 –
找出它爲什麼不能在元素本身上工作,更新了答案。 –