您可以在适当的事件上设置一个事件处理程序,然后根据幻灯片是.current
. 例如,要在滑动 1 循环时触发一些 javascript:
$(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
),以确保事情按您期望的方式工作。