设置 initialSlide 后,光滑的滑块不起作用
Slick slider not working when initialSlide is set
我不明白为什么当我设置 initialSlide
时幻灯片不滑动。我指的是 https://kenwheeler.github.io/slick/ 上的文档,但无法弄清楚问题是什么。
$('.container').slick({
initialSlide: 4,
infinite: false,
slidesToShow: 3,
slidesToScroll: 1
})
* {
box-sizing: border-box;
}
.container {
width: 120px;
}
.slide {
border: 1px solid red;
width: 40px;
}
<link href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>
<div class="container">
<div class="slide">1</div>
<div class="slide">2</div>
<div class="slide">3</div>
<div class="slide">4</div>
<div class="slide">5</div>
</div>
是上班
$('.container').slick({
无限:假,
幻灯片显示:2,
幻灯片滚动:1,
初始幻灯片:3
})
你有5张幻灯片,但是你指定的初始一张是4张,同时显示3张。但是初始1是幻灯片2,初始4是幻灯片5,但是slidesToShow: 3。滑块没有没有多余的幻灯片可以展示
在我写答案的时候,评论中已经给出了答案
您已将初始幻灯片设置为 4
(即索引 4 是幻灯片 #5)- 这是轮播中的最后一张幻灯片。问题是您的旋转木马正在显示 3 张幻灯片,因此您希望初始幻灯片为 #3,其索引为:2
:
(幻灯片总数 - slidesToShow)= 5-3 = 2
如果您设置 initialSlide: 2
,这仍然会显示最后 3 张幻灯片,但它还会设置“上一张”按钮以转到幻灯片 #2,这将触发滚动。 (下一步按钮当然不会有任何效果,因为您显示的是最后一张幻灯片并且 infinite:false
)
工作示例:
$('.container').slick({
initialSlide: 2,
infinite: false,
slidesToShow: 3,
slidesToScroll: 1
})
* {
box-sizing: border-box;
}
.container {
width: 120px;
}
.slide {
border: 1px solid red;
width: 40px;
}
<link href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>
<div class="container">
<div class="slide">1</div>
<div class="slide">2</div>
<div class="slide">3</div>
<div class="slide">4</div>
<div class="slide">5</div>
</div>
自 2014 年起,initialSlide 无法在响应式配置中运行,因此可以使用
$('.selector').slick('slickGoTo', 5);
我不明白为什么当我设置 initialSlide
时幻灯片不滑动。我指的是 https://kenwheeler.github.io/slick/ 上的文档,但无法弄清楚问题是什么。
$('.container').slick({
initialSlide: 4,
infinite: false,
slidesToShow: 3,
slidesToScroll: 1
})
* {
box-sizing: border-box;
}
.container {
width: 120px;
}
.slide {
border: 1px solid red;
width: 40px;
}
<link href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>
<div class="container">
<div class="slide">1</div>
<div class="slide">2</div>
<div class="slide">3</div>
<div class="slide">4</div>
<div class="slide">5</div>
</div>
是上班
$('.container').slick({ 无限:假, 幻灯片显示:2, 幻灯片滚动:1, 初始幻灯片:3 })
你有5张幻灯片,但是你指定的初始一张是4张,同时显示3张。但是初始1是幻灯片2,初始4是幻灯片5,但是slidesToShow: 3。滑块没有没有多余的幻灯片可以展示
在我写答案的时候,评论中已经给出了答案
您已将初始幻灯片设置为 4
(即索引 4 是幻灯片 #5)- 这是轮播中的最后一张幻灯片。问题是您的旋转木马正在显示 3 张幻灯片,因此您希望初始幻灯片为 #3,其索引为:2
:
(幻灯片总数 - slidesToShow)= 5-3 = 2
如果您设置 initialSlide: 2
,这仍然会显示最后 3 张幻灯片,但它还会设置“上一张”按钮以转到幻灯片 #2,这将触发滚动。 (下一步按钮当然不会有任何效果,因为您显示的是最后一张幻灯片并且 infinite:false
)
工作示例:
$('.container').slick({
initialSlide: 2,
infinite: false,
slidesToShow: 3,
slidesToScroll: 1
})
* {
box-sizing: border-box;
}
.container {
width: 120px;
}
.slide {
border: 1px solid red;
width: 40px;
}
<link href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>
<div class="container">
<div class="slide">1</div>
<div class="slide">2</div>
<div class="slide">3</div>
<div class="slide">4</div>
<div class="slide">5</div>
</div>
自 2014 年起,initialSlide 无法在响应式配置中运行,因此可以使用
$('.selector').slick('slickGoTo', 5);