如何获得使用插件方法单击的元素的索引?

x

我正在使用Slick JS滑块,并且试图获取单击的幻灯片的索引。我可以使用称为'getSlick'

下面的代码在单击幻灯片时记录所有索引。我只希望单击幻灯片的索引。我究竟做错了什么?

  $('.sy-images-slides-primary .slick-slide').click(function(){
    console.log($(".sy-images-slides-primary").slick("getSlick").$slides);
  });

// // define inner slider
$('.slider').slick({
  dots: false,
  infinite: true,
  slidesToShow: 5,
  slidesToScroll: 5,
  centerMode: true,
  centerPadding: 110,
  focusOnSelect: true,
  variableWidth: true
});

  $('.slider .slick-slide').click(function () {
    $(".slider").slick("getSlick").$slides.each(function (index, slide) {
      console.log(index);
    });
  });
.slick-slide {
    padding: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="//cdn.jsdelivr.net/npm/[email protected]/slick/slick.css" rel="stylesheet" />
<script src="//cdn.jsdelivr.net/npm/[email protected]/slick/slick.min.js"></script>

<div class="slider">
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
</div>

拉斯·奥洛夫·克雷姆

如果要在单击幻灯片后立即执行此操作,请使用插件事件“ afterChange”,而不要使用额外的单击侦听器。

$('.your-element').on('afterChange', function(event, slick, currentSlide){
   //
});

其中currentSlide是最后一个滑动元素的索引。

如果您需要一个监听器来单击幻灯片本身,则可以从数据属性中读出位置(您必须标准化该值,因为该值也为-1,但这应该很容易实现)。

您更改的代码:

// // define inner slider
$('.slider').slick({
  dots: false,
  infinite: true,
  slidesToShow: 5,
  slidesToScroll: 5,
  centerMode: true,
  centerPadding: 110,
  focusOnSelect: true,
  variableWidth: true
});

$('.slider').on('afterChange', function (event, slick, currentSlide) {
  console.log('afterChange, currentSlide: ', currentSlide);
});
$('.slick-slide').on('click', function(ev){
  console.log('onClick slick-index:', $(ev.currentTarget).data('slick-index'));
});
.slick-slide {
    padding: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="//cdn.jsdelivr.net/npm/[email protected]/slick/slick.css" rel="stylesheet" />
<script src="//cdn.jsdelivr.net/npm/[email protected]/slick/slick.min.js"></script>

<div class="slider">
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
<div><img src="http://placehold.it/50x50"></div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用JavaScript获取单击的数组元素的索引?

如何获得QTableView右键单击索引

如何获得元素单击的对象属性?

如何获得点击元素的索引?

如何获得向量中最小元素的索引?

单击该元素时如何使用HTML获取HTML集合中某个元素的索引

单击元素时如何获得元素的数据ID?

当我单击元素mathematics / physics / checmistry时,如何使用jquery获得span id

如何加载新的 html 页面并使用通过单击动态对象获得的元素?

如何使用Noty插件获得基本通知?

如何添加(索引,元素)的幕后工作方法使用LinkedList的?

如何使用Selenium,python通过索引单击通过xpath找到的所有元素

如何获得单击angular2的当前索引

如何使用 SQL 索引元素?

如何使用Solr在索引中索引插件字段?

如何获得在画布元素上单击鼠标的坐标?

如何获得单击框的最接近元素的选定选项?

如何获得没有ID的单击哪个dom元素

如何获得这个元素并用硒单击它?

如何通过单击tr获得选定的元素值

如何获得红宝石数组中重复元素的索引

如何获得数组而不是元素的索引号?

如何获得 pytorch 张量的独特元素及其首次出现的索引?

如何从MouseEvent对象获取单击元素的索引号

使用类和索引单击元素时出现问题

如何从具有相同名称的多个元素中获取单击元素,数组的不同索引索引

单击图像元素获得SRC

如何使用机器人框架中的索引选择或单击同一定位器上的元素

如何使用jQuery扩展方法为元素或类选择器创建自定义插件