@MaxGraph
Web-разработчик, верстальщик

Как сделать переинициализацию Swiper внутри Magnific Popup?

Имеется галерея модальных окон Magnific Popup. Их можно открыть все по отдельности, или же открыть одно и внутри листать.
$('.open-example').magnificPopup({
            mainClass: 'mfp-fade',
            type: 'inline',
            gallery:{
                enabled: true,
                arrows: false
            },
            callbacks: {
                beforeOpen: function(){
                    $(window).trigger('resize');
                }
            }
        });

        $('.prev-proj').on('click', function(e) {
            e.preventDefault();
            $.magnificPopup.instance.prev();
            return false;
        });

        $('.next-proj').on('click', function(e) {
            e.preventDefault();
            $.magnificPopup.instance.next();
            return false;
        });


Внутри каждого слайда сделан слайдер:
var galleryTop = new Swiper('.gallery-top', {

        loop:true,
        loopedSlides: 6,
        navigation: {
            nextEl: '.swiper-button-next',
            prevEl: '.swiper-button-prev',
        },
    });
    var galleryThumbs = new Swiper('.gallery-thumbs', {
        spaceBetween: 20,
        loop:true,
        loopedSlides: 6,
        slidesPerView: 3,
        touchRatio: 0.2,
        slideToClickedSlide: true,
    });
    galleryTop[0].controller.control = galleryThumbs;
    galleryThumbs[1].controller.control = galleryTop;

Ну и при переключении слайдов magnifica ломается внутренний слайдер. Как быть? Я грешу на эти строки, но не уверен
galleryTop[0].controller.control = galleryThumbs;
galleryThumbs[1].controller.control = galleryTop;

Просто если убирать [0] и [1], выдает "Cannot set property 'control' of undefined".
  • Вопрос задан
  • 427 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы