光滑的滑块。有没有办法检查滑块滑动的位置?

时间:2016-04-14 10:13:59

标签: javascript jquery css slick.js

我在我的页面上使用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')
  }
});

2 个答案:

答案 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&&currentSlide==nextSlide-1)||(currentSlide==slick.slideCount-1&&nextSlide==0))
          {
               dir='right';
          }
    else if(nextSlide<currentSlide||(nextSlide==slick.slideCount-1&&currentSlide==0))
          {
             dir='left';
          }
    if(dir=='right')
    {
    //do something.
    }
    if(dir=='left')
    {
    //do something.
    }