如何在第一张幻灯片处于活动状态时将 'first-slide-active' class 应用于 Slick 轮播容器?
How to apply 'first-slide-active' class to Slick carousel container when first slide is active?
当第一张幻灯片在 Slick 轮播中处于活动状态时,我需要使用 CSS 应用挂钩。
如何才能使 .first-slide-is-active
始终出现在包装元素上,.carousel
?
以下是我尝试过的方法,但它不起作用。它需要在页面加载和更改幻灯片时工作。
请注意:同一页面中可以有多个轮播。
$('.carousel').slick( {
onAfterChange: function(slider,index) {
if (index === 0) {
slider.addClass('first-slide-is-active');
} else {
slider.removeClass('first-slide-is-active');
}
}
})
以下内容应该有所帮助,回调方法已根据文档描述并使用了事件。 'onAfterChange' 现在是 'afterChange'。
$('.carousel').on('afterChange', function(event, slick, currentSlide){
if (currentSlide === 0) {
console.log('First element');
$(this).eq(currentSlide).addClass('first-slide-is-active');
} else {
$(this).eq(currentSlide).removeClass('first-slide-is-active');
}
});
下面是完整的工作示例:
<html>
<head>
<title>My Now Amazing Webpage</title>
<link rel="stylesheet" type="text/css" href="slick.css" />
<link rel="stylesheet" type="text/css" href="slick-theme.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript" src="slick.min.js"></script>
</head>
<body>
<div class="carousel" height="50px">
<div>your content</div>
<div>your content</div>
<div>your content</div>
</div>
<div class="carousel" height="50px">
<div>your content</div>
<div>your content</div>
<div>your content</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$('.carousel').slick({
'setting-name': 'setting-value'
});
$('.carousel').on('afterChange', function (event, slick, currentSlide) {
if (currentSlide === 0) {
console.log('First element');
$(this).eq(currentSlide).addClass('first-slide-is-active');
} else {
$(this).eq(currentSlide).removeClass('first-slide-is-active');
}
});
});
</script>
</body>
</html>
当第一张幻灯片在 Slick 轮播中处于活动状态时,我需要使用 CSS 应用挂钩。
如何才能使 .first-slide-is-active
始终出现在包装元素上,.carousel
?
以下是我尝试过的方法,但它不起作用。它需要在页面加载和更改幻灯片时工作。
请注意:同一页面中可以有多个轮播。
$('.carousel').slick( {
onAfterChange: function(slider,index) {
if (index === 0) {
slider.addClass('first-slide-is-active');
} else {
slider.removeClass('first-slide-is-active');
}
}
})
以下内容应该有所帮助,回调方法已根据文档描述并使用了事件。 'onAfterChange' 现在是 'afterChange'。
$('.carousel').on('afterChange', function(event, slick, currentSlide){
if (currentSlide === 0) {
console.log('First element');
$(this).eq(currentSlide).addClass('first-slide-is-active');
} else {
$(this).eq(currentSlide).removeClass('first-slide-is-active');
}
});
下面是完整的工作示例:
<html>
<head>
<title>My Now Amazing Webpage</title>
<link rel="stylesheet" type="text/css" href="slick.css" />
<link rel="stylesheet" type="text/css" href="slick-theme.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript" src="slick.min.js"></script>
</head>
<body>
<div class="carousel" height="50px">
<div>your content</div>
<div>your content</div>
<div>your content</div>
</div>
<div class="carousel" height="50px">
<div>your content</div>
<div>your content</div>
<div>your content</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$('.carousel').slick({
'setting-name': 'setting-value'
});
$('.carousel').on('afterChange', function (event, slick, currentSlide) {
if (currentSlide === 0) {
console.log('First element');
$(this).eq(currentSlide).addClass('first-slide-is-active');
} else {
$(this).eq(currentSlide).removeClass('first-slide-is-active');
}
});
});
</script>
</body>
</html>