我在我的页面上使用Slick滑块,我想知道是否有任何方法可以检查滑块向右或向左滑动的位置,然后对此事件执行某些操作?
基本上我只在自定义箭头点击上使用数据attr进行检查事件,但我想知道我是否可以在滑动或自动滑动时找到它。
这是滑块的基本脚本,我使用:
var arrowPrev = ('.a1');
var arrowNext = ('.a2');
$('.slider').slick();
$arrowPrev.click(function(){
$arrowPrev.data('clicked', true);
if($($arrowPrev).data('clicked')) {
console.log('here')
}
});
$arrowNext.click(function(){
$arrowNext.data('clicked', true);
if($($arrowNext).data('clicked')) {
console.log('there')
}
});
答案 0 :(得分:3)
光滑的滑块有几个可用于检测此事件的事件:
beforeChange
$('.slider').on('beforeChange', function(event, slick, currentSlide, nextSlide){
console.log(nextSlide);
});
afterChange
$('.slider').on('afterChange', function(event, slick, currentSlide){
console.log(currentSlide);
});
swipe
$('.slider').on('swipe', function(event, slick, direction){
console.log(direction);
// left
});
有关详细信息,请查看Slick
官方网站上“设置”下的“光鲜事件”部分答案 1 :(得分:-1)
检测光滑方向onBeforeChange事件
infinte:真 centermode:真/假
var dir;
if((currentSlide<nextSlide&¤tSlide==nextSlide-1)||(currentSlide==slick.slideCount-1&&nextSlide==0))
{
dir='right';
}
else if(nextSlide<currentSlide||(nextSlide==slick.slideCount-1&¤tSlide==0))
{
dir='left';
}
if(dir=='right')
{
//do something.
}
if(dir=='left')
{
//do something.
}