如何在ajax调用后重新初始化lightgallery

时间:2016-10-14 08:16:21

标签: javascript jquery ajax plugins lightgallery

我正在使用lightgallery插件点击显示我网站的图片。我将光库初始化为

$(document).ready(function(){
    $('#lightgallery').lightGallery({
        selector: '.item'
    });
});

在文档中加载其工作正常。问题是,当我加载更多图像并使用jquery附加它们时,我想再次重新初始化lightgallery,以便为ajax调用加载的iamges工作。但是光照画廊不适合他们。它仅适用于页面加载时加载的图像。

2 个答案:

答案 0 :(得分:2)

这可能会有所帮助:

function createLightGallery()
{
    $('#lightgallery').lightGallery({
        selector: '.item'
    });
}

// on document load
$(document).ready(function(){
    createLightGallery();
});

// on the AJAX request
$.ajax({ 
    url: "/get_images",
    .
    .
    success: function()
    {
         if("#lightgallery").data("lightGallery"))
             $("#lightgallery").data("lightGallery").destroy(true);
         createLightGallery();
    }
});

答案 1 :(得分:0)

这是我在ajax中有效的答案

成功:function() {

//destroy your lightgallery
 try{ $('#lightgallery').lightGallery(); $('#lightgallery').data('lightGallery').destroy(true); }catch(ex){};

//and then re-initiate gallery again
$('#lightgallery').lightGallery({
    selector: '.item'
});

}