Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用插件方法获取单击的元素的索引?_Javascript_Jquery_Methods_Slick.js - Fatal编程技术网

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

Javascript 如何使用插件方法获取单击的元素的索引?,javascript,jquery,methods,slick.js,Javascript,Jquery,Methods,Slick.js,我正在使用Slick JS滑块,并尝试获取单击的幻灯片的索引。所有属性都可以通过名为“getSlick”的方法使用 下面的代码记录了每次单击幻灯片时的所有索引。我只想点击幻灯片的索引。我做错了什么 $('.sy-images-slides-primary .slick-slide').click(function(){ console.log($(".sy-images-slides-primary").slick("getSlick").$slides); }); ///定

我正在使用Slick JS滑块,并尝试获取单击的幻灯片的索引。所有属性都可以通过名为“getSlick”的方法使用

下面的代码记录了每次单击幻灯片时的所有索引。我只想点击幻灯片的索引。我做错了什么

  $('.sy-images-slides-primary .slick-slide').click(function(){
    console.log($(".sy-images-slides-primary").slick("getSlick").$slides);
  });
///定义内部滑块
$('.slider')。光滑({
点:错,
无限:是的,
幻灯片放映:5,
幻灯片滚动:5,
centerMode:对,
中心填充:110,
焦点选择:正确,
可变宽度:true
});
$('.slider.slider')。单击(函数(){
$(.slider”).slick(“getSlick”).slides.each(函数(索引,幻灯片){
控制台日志(索引);
});
});
。光滑的幻灯片{
填充:10px;
}

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

$('.your-element').on('afterChange', function(event, slick, currentSlide){
   //
});
其中,currentSlide是最后一个滑动元素的索引

如果您需要一个侦听器来单击幻灯片本身,您可以从数据属性中读取位置(您必须规范化该值,因为还有一个-1,但这应该很容易工作)

您更改的代码:
///定义内部滑块
$('.slider')。光滑({
点:错,
无限:是的,
幻灯片放映:5,
幻灯片滚动:5,
centerMode:对,
中心填充:110,
焦点选择:正确,
可变宽度:true
});
$('.slider')。打开('afterChange',函数(事件、滑动、当前滑动){
log('afterChange,currentSlide:',currentSlide:');
});
$('slick slide')。打开('click',函数(ev){
log('onClick slick index:',$(ev.currentTarget).data('slick-index');
});
。光滑的幻灯片{
填充:10px;
}


这不起作用。如果你能复制我上面的代码并解决它吗?我刚刚编辑了我的答案。。。请使用slick的回调或事件来获取事件,而不是额外的“单击”侦听器当我将该代码放在afterChange事件中时,它会给我一个错误:$(…)。slick。$slides不是一个函数请参阅我的实现示例代码,我的更新答案,这有帮助吗?谢谢这有帮助!你知道有没有办法用onclick实现我的版本吗?