Slick Slider-如果显示了所有幻灯片,则导航时Slick当前类不会移动



我有一个带有Slick.js的简单滑块(https://kenwheeler.github.io/slick/)

默认情况下,当显示所有幻灯片项目时,滑块箭头是隐藏的,因为不需要滑动。因此,我将自定义箭头与调用.slick('slickNext').slick('slickPrev')的单击函数一起使用,并且其工作正常。但我的问题是,当所有幻灯片项目都显示出来,并且我调用函数进行下一个或上一个幻灯片时,活动幻灯片项目上的.slick-current类不再切换。

我的目标是,当我单击按钮时,.slick-current类仍然会移动。

例如:https://jsfiddle.net/0nprbj95/2/感谢你的帮助!

确保Slick移动.slick-current类的一个解决方案是保持当前幻灯片索引的状态,然后使用slick('goTo')方法强制Slick将类移动到此幻灯片。

这可能不能完全给出您想要的行为,因为Slick仍将在其";视口";,但您可能可以从那里调整行为。

$(document).ready(function(){
var currentSlide = 0;
var numSlides = document.getElementsByClassName('slide-item').length;
$('.slider-items-wrapper').slick({
slidesToShow: 4,
slidesToScroll: 1,
mobileFirst: true,
infinite: true,
arrows: false,
});
$('.button-prev').click(function(){
// wrap to last slide when clicked on first slide
currentSlide = (currentSlide - 1 + numSlides) % numSlides;
$('.slider-items-wrapper').slick('goTo', currentSlide);
});
$('.button-next').click(function(){
// wrap to first slide when clicked on last slide
currentSlide = (currentSlide + 1) % numSlides;
$('.slider-items-wrapper').slick('goTo', currentSlide);
});
});

完整的JSFiddle:https://jsfiddle.net/c3amxzk1/1/

最新更新