我在使用 lightGallery() 作为回调时遇到问题;当客户选择产品选项时,我试图在 Shopify 中使用它。
例如,我有一个 div#lightgallery
有 5 个图像,并在页面加载后被$("#lightgallery").lightGallery();
调用。
当客户选择产品变体时,之前的 5 张图片#lightgallery
会被删除,新的 4 张图片会被创建,但$("#lightgallery").lightGallery();
不会为该变体初始化新图库。
我在使用 lightGallery() 作为回调时遇到问题;当客户选择产品选项时,我试图在 Shopify 中使用它。
例如,我有一个 div#lightgallery
有 5 个图像,并在页面加载后被$("#lightgallery").lightGallery();
调用。
当客户选择产品变体时,之前的 5 张图片#lightgallery
会被删除,新的 4 张图片会被创建,但$("#lightgallery").lightGallery();
不会为该变体初始化新图库。
我发现可以一次实例化多个灯光画廊,而不是创建和销毁多个灯光画廊,如下所示:
$('.gallery').lightGallery();
写下下面提到的关于 ajax 成功的脚本。
注意:unitPlanslightGallery
是我们在其上应用光廊的class
或。id
var lg = jQuery('.unitPlanslightGallery');
// destroy
lg.data('lightGallery').destroy(true);
在实例化新的之前,需要销毁 lightGallery。所以,我在 onCloseAfter 事件上调用了 destroy() 方法:
const $lg = $("#lightgallery");
$lg.lightGallery();
$lg.one('onCloseAfter.lg',function(event){
$lg.data('lightGallery').destroy('true');
});
注意$lg.one
而不是$lg.on
,在这里查看mervick 的最后评论:
https ://github.com/sachinchoolur/lightGallery/issues/238