光滑的滑块,在第一张幻灯片中填充
Slick slider, padding in the first slide
我的想法是:
我想在 slick.js 的第一张幻灯片中添加填充,是的,我已经在 css 中尝试了 :first
元素。但是我真正想要的是:将 css class 放在第一个元素 中,然后 在 class 未出现时更改
我目前的情况:
$(document).ready(function () {
$('.slider1').slick({
dots: false,
infinite: false,
speed: 300,
slidesToShow: 4
});
$('.slider1').on('click', function (event, slick, currentSlide) {
if (currentSlide === 0) {
console.log('First element');
$(this).eq(currentSlide).addClass('first-slide-is-active111');
} else {
$(this).eq(currentSlide).removeClass('first-slide-is-active111');
}
});
});
但不起作用..有什么帮助吗?
编辑: 让我清楚我想做的就像 netflix 滑块.. 在第一张幻灯片中有 space..
您需要将 class 添加到第一张幻灯片并填充。
$(document).ready(function () {
$('.slider1').slick({
dots: false,
infinite: false,
speed: 300,
slidesToShow: 4,
});
$('.slider1').on('click', function (event, slick, currentSlide) {
if (currentSlide === 0) {
console.log('First element');
$(this).eq(currentSlide).addClass('first-slide-is-active111');
} else {
$(this).eq(currentSlide).removeClass('first-slide-is-active111');
}
});
});
.s1 {
padding: 50px;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="slider1">
<div class="s1 slide"><span>Slide1</span></div>
<div class="slide"><span>Slide2</span></div>
<div class="slide"><span>Slide3</span></div>
<div class="slide"><span>Slide4</span></div>
<div class="slide"><span>Slide5</span></div>
<div class="slide"><span>Slide6</span></div>
</div>
已修复您的代码
$(document).ready(function () {
$('.slider1').slick({
dots: false,
infinite: false,
speed: 300,
slidesToShow: 4,
});
$('.slide:first').addClass('first-slide-is-active111');
$('.slider1').on('afterChange', function (event, slick, currentSlide) {
if (currentSlide === 0) {
console.log('First element');
$('.slide:first').addClass('first-slide-is-active111');
} else {
$('.slide:first').removeClass('first-slide-is-active111');
}
});
});
您必须将处理程序绑定到 'afterChange' 而不是 'click'。并且也应用了一些逻辑修复。
如果这个逻辑不是你想要的,请在下面的评论中告诉我,我会尽力提供帮助。
我的想法是:
我想在 slick.js 的第一张幻灯片中添加填充,是的,我已经在 css 中尝试了 :first
元素。但是我真正想要的是:将 css class 放在第一个元素 中,然后 在 class 未出现时更改
我目前的情况:
$(document).ready(function () {
$('.slider1').slick({
dots: false,
infinite: false,
speed: 300,
slidesToShow: 4
});
$('.slider1').on('click', function (event, slick, currentSlide) {
if (currentSlide === 0) {
console.log('First element');
$(this).eq(currentSlide).addClass('first-slide-is-active111');
} else {
$(this).eq(currentSlide).removeClass('first-slide-is-active111');
}
});
});
但不起作用..有什么帮助吗?
编辑: 让我清楚我想做的就像 netflix 滑块.. 在第一张幻灯片中有 space..
您需要将 class 添加到第一张幻灯片并填充。
$(document).ready(function () {
$('.slider1').slick({
dots: false,
infinite: false,
speed: 300,
slidesToShow: 4,
});
$('.slider1').on('click', function (event, slick, currentSlide) {
if (currentSlide === 0) {
console.log('First element');
$(this).eq(currentSlide).addClass('first-slide-is-active111');
} else {
$(this).eq(currentSlide).removeClass('first-slide-is-active111');
}
});
});
.s1 {
padding: 50px;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="slider1">
<div class="s1 slide"><span>Slide1</span></div>
<div class="slide"><span>Slide2</span></div>
<div class="slide"><span>Slide3</span></div>
<div class="slide"><span>Slide4</span></div>
<div class="slide"><span>Slide5</span></div>
<div class="slide"><span>Slide6</span></div>
</div>
已修复您的代码
$(document).ready(function () {
$('.slider1').slick({
dots: false,
infinite: false,
speed: 300,
slidesToShow: 4,
});
$('.slide:first').addClass('first-slide-is-active111');
$('.slider1').on('afterChange', function (event, slick, currentSlide) {
if (currentSlide === 0) {
console.log('First element');
$('.slide:first').addClass('first-slide-is-active111');
} else {
$('.slide:first').removeClass('first-slide-is-active111');
}
});
});
您必须将处理程序绑定到 'afterChange' 而不是 'click'。并且也应用了一些逻辑修复。 如果这个逻辑不是你想要的,请在下面的评论中告诉我,我会尽力提供帮助。