使用事件處理,而不是類監控。
流暢的傳送帶API有這個事件,我相信你想使用afterChange
事件作用於活動元素後,它已經可見。
退房文檔和例子,特別是標題爲油滑頁上的「事件」:http://kenwheeler.github.io/slick/
而且我覺得你不希望使用title
屬性爲這個,因爲這是工具提示。我建議使用data-*
屬性。元素ID通常應以字母開頭,而不是數字(在HTML4中是必需的,並且在將ID映射到JavaScript變量時使生活更輕鬆;但如果您使用的是HTML5,則認爲此要求不再有效)。
HTML
<div id="carousel">
<div data-content-id="content1">
Selector 1 </div>
<div data-content-id="content2">
Selector 2 </div>
<div data-content-id="content3">
Selector 3 </div>
</div>
<ul class="content">
<li id="content1">Content 1</li>
<li id="content2">Content 2</li>
<li id="content3">Content 3</li>
</ul>
的JavaScript
$('#carousel').on('afterChange', function(event, slick, currentSlide) {
// get the associated content id
var contentId = $(slick.$slides.get(currentSlide)).data("content-id");
if(contentId && contentId.length)
{
var $content = $("#" + contentId);
$(".content>li").removeClass("open"); // hide other content
$content.addClass("open"); // show target content, or whatever...
}
});
使用事件'afterChange'光滑滑塊來檢查如果當前元素有'active'類,目前你的代碼只是在頁面加載時運行,而不是在類更改時運行 – empiric
我是初學者,不太清楚如何使用它。另外,當我在代碼本身初始化一個類時,list元素不會改變。 – AthScc