【问题标题】:Get the IMG of the current 'slick' slide (vanilla JS or jQuery)获取当前“光滑”滑块的图像(香草 JS 或 jQuery)
【发布时间】:2021-12-14 15:18:31
【问题描述】:

这就是我所说的非常有名的“slick”:https://kenwheeler.github.io/slick/

我找到了这个完美的答案:

$('.slider').slick({
  dots: true,
  autoplay: true,
  autoplaySpeed: 1000,
  infinite: true,
  speed: 1000,
  slide: 'div',
  cssEase: 'linear'
 });

$('.slider').on('afterChange', function(event, slick, currentSlide, nextSlide){
  //Here I do split the `src` attribute value because I'm using an absolute path.
  // $(slick.$slides.get(currentSlide)) gives the whole slide 
  var CurrentImg=$(slick.$slides.get(currentSlide)).find('img').attr('src').split('/').pop();
  console.log(CurrentImg)
});

我的问题是,如果我从不触摸幻灯片,则事件永远不会被调用,因此我不知道当前图像。

如果我只是尝试任何 onclick 这个:

$(slick.$slides.get(currentSlide)).find('img').attr('src').split('/').pop()

当然不行,因为从来没有定义过“slick”。 如果我这样做了

slick = $('.slider').slick({
....

这也不正确,告诉我 slick.$slides 没有定义。

如果我没有参加活动,我在哪里可以得到正确的“slick”参考? 谢谢

【问题讨论】:

    标签: javascript slick.js


    【解决方案1】:

    您可以在一页上拥有多个光滑滑块,因此要专门获取一个,您可以使用.slick(getSlick) 获取当前光滑对象:

    $('.selector .for .one .slick-slider').slick('getSlick')

    如果您随后在$slides 下查看所有幻灯片,请过滤掉类名称为slick-slide-current 的幻灯片,然后您将获得当前幻灯片以用于选定的光滑滑块。 .get(currentSlide) 在这部分对我不起作用,但您应该能够过滤掉元素。

    查看"Methods" on the official documentation部分

    【讨论】:

    • 感谢它的工作,但由于 JS 不是“我的语言”,我这样做是为了找到它。它有效,但我确信有更简单的方法.... var currentSlide = -1; for(i=0; i
    猜你喜欢
    • 1970-01-01
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多