@advancesss

Как повторно инициировать Fotoram'у после загрузки ajax контента?

Приветствую, фоторама не работает после загрузки ajax. Как я понимаю нужно повторно инициировать фотораму. Подскажите как

Вызываю фотораму так^
(function () {
  $('.fotorama').fotorama();
 })


Ajax-контент так
$('.popup-with-form').magnificPopup({
 	type: 'ajax'
	
 });
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
khegay
@khegay
Founder, Garuna
Попробуйте так:

$('.popup-with-form').magnificPopup({
    type: 'ajax',
    callbacks: {
        ajaxContentAdded: function() {
            $('.fotorama').fotorama().destroy();
            $('.fotorama').fotorama();
        }
    }
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@zkrvndm
Софт для автоматизации
Попробуйте по простому в лоб вызывать код каждую секунду:
$(function() {
    setInterval(function() {
        $('.fotorama').fotorama();
    }, 1000);
})

Если ваша фоторама правильно написана, уже инициированные элементы он будет пропускать при повторных запусках, а значит способ выше допустим, хоть и не идеален. В идеале здесь надо использовать MutationObserver для отслеживание факта подгрузки контента, но мне лень писать код с ним)
Ответ написан
Ваш ответ на вопрос

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

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