Добрый день. Случилась у меня такая напасть. Мне нужно получить ajax'ом разметку и вставить её в слайдер.
Как у меня все работает:
Кликая на кнопку, появляется модальное окно, после срабатывания события полного открытия модального окна, я запускаю инициализацию слайдера, т.к. в скрытом блоке он не правильно считает ширину слайдов, что вообщем логично. Далее, после инициализации слайдере, по цепочке методов я вставляю в него полученную ajax'ом разметку и вставляю.
Далее, после полного закрытия окна, мне нужно уничтожить слайдер и очистить его от слайдов.
$.ajax({
url: '/app/ajax/detail/index.php?user='+user+'&iblock='+iblock,
type: 'GET',
dataType: 'html',
}).done(function(items){
var clientThanksCarousel = $('#clientThanksCarousel');
if(items){
clientThanksModal
.modal('show')
.on('shown.bs.modal', function(){
clientThanksCarousel
.slick({
slidesToShow: 2,
responsive: [
{
breakpoint: 570,
settings: {
slidesToShow: 1
}
}
]
})
.slick('slickAdd', items);
})
.on('hidden.bs.modal', function(){
clientThanksCarousel
.slick('unslick')
.empty();
});
}
});
Но вот не задача, если вызвать все это еще раз, что бы слайдер заново инициализировался и вставил новые слайды, он выдаёт мне ошибку.
Uncaught TypeError: Cannot read property 'add' of null. Смотрел в консоли, что он делает с разметкой. Он её вычищает полностью. Но заново запуститься не хочет.
Прошу, помогите, уже голову сломал, что мне сделать!