@MarkLb

Как решить проблему с повторной иннициализацией slick.js?

У slick.js очень странное поведение. При открытие popup'а нормальный вид:
Нормальный вид
j0uWPfG.png


Такой вид будет при первом открытии popup'а. Если открывать другие, следующая ситуация:
Проблема
t4IYNYL.png


То есть, не грузятся изображения, но отображаются стрелки слайдера. Если на них нажимать фото постепенно раскрывается:
Постепенное раскрытие
Seeaznd.pngwkCtw1p.pngdxMxzl5.png


Полагаю, проблема в инициализации. Кто-то сталкивался с таким, как можно решить проблему?
  • Вопрос задан
  • 1179 просмотров
Пригласить эксперта
Ответы на вопрос 2
iiiBird
@iiiBird
Пока ты спишь - твой конкурент совершенствуется
При повторном вызове вызывай метод setPosition
$('.slider').slick('setPosition');
Ответ написан
@ramzez1
верстка сайтов
у меня вот такой метод сработал
мне нужно было встроить слайд или блок где нет еще слайдов после загрузки страницы и при добавлении чтоб перезапускался слайдер
вот эти способы не помогали
$('.slider').slick('init');
$('.slider').slick('reinit');
$('.slider').slick('setPosition');

помогло когда заново у слайдера перегружаешь параметры его, но перед этим удлаешь всю инизиализацию методом - unslick

$('body').on('click', '.btnAdd', function (event) {
        event.preventDefault();
        $('.Slider').slick('unslick');
        $('.Slider').slick(SlickSlider());
    });

    function SlickSlider() {
        return {
            infinite: true,
            slidesToShow: 1,
            slidesToScroll: 1
        };
    }


или вот так

slickCarousel();

function slickCarousel() {
    $('.skills_section').slick('unslick');
    $('.skills_section').slick({
        infinite: true,
        slidesToShow: 3,
        slidesToScroll: 1
    });
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы