2015-06-09 4 views
1

Использование 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/

ответ

3

Вы не имеете 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/ Надежда, что помогает!

Смежные вопросы