2015-12-13 4 views
0

У меня разные альбомы, содержание которых я хочу показать в lightgallery.Howto обновить lightgallery при изменении dynamicEl

Мой первоначальный вызов идет как:

$('.dlCms_c_Carousel').lightGallery({ 
            dynamic : true , 
            dynamicEl : dlThis.LGDynEl , 
            thumbnail : true , 
            mode  : 'lg-fade' , 
            }); 

Это работает идеально, но затем, при открытии еще один альбом, я хочу тот или иной способ обновить таким образом, что новое содержание dynamicEl показано.

Есть ли способ сделать это?

Я пробуя

$('.dlCms_c_Carousel').data("lightGallery").destroy(true) 

раньше, но это перепутались. То есть казалось, была какая-то функциональность, но похоже, что лайтбокс потерял некоторый стиль и больше не был непрозрачным.

Любые подсказки?

ответ

0

Я использую Waypoint.js для бесконечной прокрутки с помощью lightgallery.

Решение, которое я нашел для динамического обновления был:

var gallery = $(".infinite-container").lightGallery({ 
 
    selector: '.item' 
 
}); 
 

 
var infinite = new Waypoint.Infinite({ 
 
    element: document.querySelector('.infinite-container'), 
 
    onAfterPageLoad:() => { 
 
    gallery.data('lightGallery').destroy(true); 
 
    gallery = $(".infinite-container").lightGallery({ 
 
     selector: '.item' 
 
    }); 
 
    } 
 
});

Из моего опыта, объект вернулся из инициализации lightgallery должен быть использован на уничтожить.

Надеюсь, это поможет.