Slick.js:如何删除当前幻灯片?

时间:2015-06-09 18:01:07

标签: javascript jquery slick.js

使用Slick.js - 我如何删除当前有效幻灯片?我做了一个例子,但没有任何作用

var $status = $('.pagingInfo');
var $slickElement = $('.slideshow');

$slickElement.on('init reInit afterChange', function (event, slick, currentSlide, nextSlide) {
    //currentSlide is undefined on init -- set it to 0 in this case (currentSlide is 0 based)
    var i = (currentSlide ? currentSlide : 0) + 1;
    $status.text(i + '/' + slick.slideCount);
});

$slickElement.slick({
    slide: 'img',
    speed: 1,
    infinite: false,
    swipe: false,
    autoplay: false,
    dots: false
});

$('.remove-slide').on('click', function() {
    $slickElement.slick('slickRemove', i);
});

我的小提琴 - http://jsfiddle.net/q5yae1t3/9/

2 个答案:

答案 0 :(得分:4)

您在i函数中没有设置$(...).on(...)变量。您需要设置i才能删除基于i的内容。然后,您还需要更改所有data-slick-index属性,因为当幻灯片计数器发生更改时,这些属性不会更改。

$('.remove-slide').on('click', function() {
   i = $("img.slick-active").attr("data-slick-index");
   $slickElement.slick('slickRemove', i);
   var j = 0;
   $("img.slick-slide").each(function(){
     $(this).attr("data-slick-index",j);
     j++;
   });
});

http://jsfiddle.net/q5yae1t3/19/ 希望有所帮助!

答案 1 :(得分:0)

这是单线的。

var currentSlide = $('.slideshow').slick('slickCurrentSlide');
$('.slideshow').slick('slickRemove', currentSlide);

相关问题