如何使用光滑滑块点(无限模式开启)走最短路径?

问题描述 投票:0回答:1

我正在使用开启无限模式的光滑滑块,我希望这些点采用最短路径。例如:我在第一张幻灯片上,单击最后一个点,它应该向左移动一张幻灯片,而不是向右移动 4 张幻灯片(我有 5 张幻灯片)。

我尝试使用 SlidesToScroll 的负值更改滚动方向,但没有成功。

slick.js
1个回答
0
投票

请在此处找到 jsfiddle 链接: https://jsfiddle.net/sharmamehu01/fxjcys75/4/

 var $slider = $('.slider-for');
 $slider.slick({
   slidesToShow: 1,
   slidesToScroll: 1,
   arrows: false,
   dots:true,
   autoplay:true,
   infinite:true,
   autoplaySpeed:1000,
});

 $('.slick-dots button').on('click',function(e) {
    e.preventDefault();
    callme(true);
 });

function callme(fromdots){
$slider.on('beforeChange', function(event, { slideCount: count }, currentSlide, nextSlide){
        if(fromdots){
            $slider.slick('slickSetOption', 'speed', 0);
            fromdots = false;
        }
});

$slider.on('afterChange', function(event, { slideCount: count }, currentSlide, nextSlide){
        $slider.slick('slickSetOption', 'speed', 300); // its a default normal speed ot slick slider
        fromdots = false;
         $('.slick-dots button').blur(); // to remove focus on dots otherwise your slide will stuck
});
}

这个问题没有默认的解决方案,在这种情况下,你需要改变滑块的速度,你可以借助 beforeSlideafterSlide 来实现。

希望对您有所帮助。谢谢你:)

© www.soinside.com 2019 - 2024. All rights reserved.