Lightgallery: 使用 AJAX 加载图库

创建于 2015-11-20  ·  5评论  ·  资料来源: sachinchoolur/lightGallery

当我使用 ajax 获取图像时,它会给我错误“TypeError: a is undefined”但是如果我在“ dynamicEl:[{"src": "mlphotos/imgs/564d982d2bed1_kosta.jpg","thumb ": "mlphotos/imgs/564d982d2bed1_kosta.jpg",}] " 然后它工作正常,

-> 但我想用 ajax 加载图像,下面是我的代码

下面是我的代码帮助我这里有什么问题?

$.ajax({
url: "ajax_viewlarge_click" ,
类型:'POST',
数据类型:“json”,
成功:功能(数据){
//-------------------------
动态照片 = '';
for (var i = 0; i < data.length; i++) {
动态照片 += '{"src": "'+data[i]+'","thumb": "'+data[i]+'",},';
}
$.getScript($('#baseUrl').val()+"/application/layouts/scripts/themes/trailblazer/js/lg/lightgallery.min.js", function( datas, textStatus, jqxhr ) {
var 图片 = "["+dynamicphoto+"]";
$(this).lightGallery({
动态:真实,
html:真,
动态El:图片
});
});
},
错误:函数(e){
console.log("服务器故障!服务器关闭了吗?");
}
});

所有5条评论

我想我正在试验一个类似的问题。 我最初加载 n 个图像并在滚动时发出 AJAX 请求以获取更多图像。 五个初始图像工作正常,但新图像没有获得该功能(单击它们只会将我带到图像的网址)。

我打电话给 $('.container).lightGallery({ ... }); 再次 AJAX 成功:function(res) { ... }。

我也在使用Wookmark 插件

我设法通过正确销毁图库并在 AJAX 成功时再次加载它来解决这个问题:function(res) { ... }

销毁画廊的正确方法:
$lg = $('.container');

// 破坏
$lg.data('lightGallery').destroy(true);

我们想在画廊打开时更新项目。 假设我们有一个负载更多或导航到当前项目的末尾。

目前$lg.data('lightGallery').destroy(true);将关闭画廊并重新实例化画廊。 我已经做了一个临时的解决方法来解决这个问题。 见: https :

你能告诉我你是否有更好的解决方案吗?

@reillo
目前,这是不可能的。 但是,我将来会尝试包含刷新方法

@sachinchoolur这种未来方法有什么计划吗?

此页面是否有帮助?
0 / 5 - 0 等级