AltaiR-05
@AltaiR-05

Как открывать в slick текущий слайд в модальном окне?

Привет всем. Стоит задача открывать текущий слайд при клике в модальном окне. У slick текущий слайд имеет класс .slick-current. Для модальных окон подключил Magnific Popup. Вот код:
jQuery(document).ready(function(){
  jQuery('.slick-current .image-link').magnificPopup({
    type: 'image',
    mainClass: 'mfp-with-zoom', 
    zoom: {
      enabled: true, 
      duration: 300, 
      easing: 'ease-in-out',
      opener: function(openerElement) {
        return openerElement.is('img') ? openerElement : openerElement.find('img');
      }
    }
  });
});

И да, он открывает текущий слайд в модальном окне. Но при переключении слайда, новый слайд уже не открывается. Можно как то в реальном времени отслеживать добавление класса .slick-current к новым слайдам и их открывать в модальном окне?
  • Вопрос задан
  • 2714 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rema1ns
@Rema1ns
и так сойдет
Используйте событие на листание слайдов, и обновляйте содержимое модалки

События слика:
// On swipe event
$('.your-element').on('swipe', function(event, slick, direction){
  console.log(direction);
  // left
});

// On edge hit
$('.your-element').on('edge', function(event, slick, direction){
  console.log('edge was hit')
});

// On before slide change
$('.your-element').on('beforeChange', function(event, slick, currentSlide, nextSlide){
  console.log(nextSlide);
});


Добавляете вызов magnificPopup на стандартный эвент смены слайда.
Ответ написан
iiiBird
@iiiBird Куратор тега CSS
Пока ты спишь - твой конкурент совершенствуется
тебе нужно просто открыть картинку при клике на эту же картину? а не легче ли поставть тот же fancyapps.com/fancybox/3 который просто через data атрибут для ссылки работает?
https://jsfiddle.net/4j9km2mw/
Ответ написан
Ваш ответ на вопрос

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

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