使用事件处理,而不是类监控。
流畅的传送带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