Javascript 如何使用插件方法获取单击的元素的索引?
我正在使用Slick JS滑块,并尝试获取单击的幻灯片的索引。所有属性都可以通过名为“getSlick”的方法使用 下面的代码记录了每次单击幻灯片时的所有索引。我只想点击幻灯片的索引。我做错了什么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); }); ///定
$('.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实现我的版本吗?