infinite: false
のときは、1番目のスライドのときは左ボタンに.slide-disabled
クラスがつき、右ボタンも同様です。
これを利用して、1番目のスライドでは左ボタンを隠し、最後のスライドでは右ボタンの見た目を変えることができます(下の例では公式の css theme と同様に::before
を使ってます)。
また、最後のスライドから右ボタンで最初のスライドに戻るには、クリック時にそれが.slide-disabled
であるかをチェックすればできます。
Demo(JSFiddle)
js
1const $slick = $(".container")
2
3$slick.slick({
4 fade: false,
5 infinite: false,
6 arrows: true,
7 centerMode: true,
8 prevArrow: '<button class="slick-prev"></button>',
9 nextArrow: '<button class="slick-next"></button>',
10});
11
12$('.slick-next').click(function() {
13 if ($(this).hasClass('slick-disabled')) {
14 $slick.slick('slickGoTo', 0)
15 }
16})
css
1.slick-prev.slick-disabled {
2 visibility: hidden;
3}
4.slick-prev::before {
5 content: '<';
6}
7.slick-next.slick-disabled::before {
8 content: '<<';
9}
10.slick-next::before {
11 content: '>';
12}