从 slick carousel 中的幻灯片获取数据属性

Getting data-attributes from slides in slick carousel

Slick carousel 1.4更新后,从当前幻灯片中拉取数据属性的方法发生了变化。

之前有效的方法:

onAfterChange: function(slide, index) {
   $('.project-caption').find('p').replaceWith("<p>" + $(slide.$slides.get(index)).data('description') + "</p>");
}

现在文档说在更改后调用当前幻灯片:

$('.your-element').on('afterChange', function(event, slick, currentSlide, nextSlide){
    console.log(nextSlide);
});`

我已尽我所能使用新方法获取数据属性。

作者在这里告诉我如何获取当前幻灯片的整数:http://jsfiddle.net/3b4kqy9p/

但是有人知道如何获取当前幻灯片数据属性吗?

您可以从 slick 对象访问 $slides 数组:

var elSlide = $(slick.$slides[currentSlide]);
var materials = elSlide.data('materials');

我更新了 jsfiddle here

在您的事件处理程序中放置:

var activeSlide = $('#carousel').find('.slick-active');
var year = activeSlide.data('year');

这基于插件所做的 class 更改。