2016-09-16 136 views
1

我正在使用Ken Wheeler的Slick并希望在用户单击slick-prev或slick-next或将传送带向左或向右拖动时将false设置为false。如何停止单击并拖动Slick Slider自动播放

slick = $('.slick').slick({ 
     slidesToShow: 3, 
     slidesToScroll: 2, 
     autoplay: true, 
     autoplaySpeed: 2500, 
     dots: false, 
     }); 

我尝试以下

$('.slick-prev, .slick-next').on('click', function(){ 
     slick.slickSetOption('autoplay', false, false); 
}); 

而且

$('.slick-prev, .slick-next').on('click', function(){ 
     $(slider).slick('slickSetOption', 'autoplay', false, false); 
    }); 

两人都没有工作,我不知道如何寻找一个可拖动事件。

+0

您是否想在某些事件后将'autoplay'回到'true'? –

+0

不,我希望它保持虚假 – Bart

+0

我更新了我的答案,如果您之前检查过,请重新检查。 –

回答

2

更新

您需要使用slickSetOption象下面这样:

HTML

<div class="my-slick"> 
    <div>Box 1</div> 
    <div>Box 2</div> 
    <div>Box 3</div> 
    <div>Box 4</div> 
</div> 

JS

var slickOptions = { 
     autoplay: true, 
     // rest of options 
    }, 
    $slick = $('.my-slick'); 

$slick.slick(slickOptions); 

// built-in feature, for more info check the [doc](http://kenwheeler.github.io/slick/) 
$slick.on('swipe', function(event, slick, direction) { 
    reinitSlick(); 
}); 

$('.slick-prev, .slick-next').on('click', function(){ 
    reinitSlick(); 
}); 

var reinitSlick = function() {  
    $slick.slick('slickSetOption', { 
     'autoplay': false 
    }, false); 
} 

Codepen

相关问题