0

我正在使用我的网站上的灯光图库插件,同时运行 $('#categoryImages').lightGallery().destroy(true);

我收到控制台错误

未捕获的 TypeError: $(...).lightGallery(...).destroy 不是函数

下面提到的代码片段是我用于灯光画廊的网站代码。

    $subcategory) { $subcategoryImage= scandir($dir.strtolower($getCategory)."/".$subcategory); unset($subcategoryImage[array_search('.', $subcategoryImage, true)]); unset($subcategoryImage[array_search('..', $subcategoryImage, true)]); foreach ($subcategoryImage as $key => $value2) { $data['subcategoryImages'][]= $dir.strtolower($getCategory)."/".$subcategory."/".$value2;?>
<li class="col-xs-6 col-sm-4 col-md-3" data-responsive=" 375, 480," data-src="">

<img class="img-responsive" src="">

jQuery代码

$('body').on('click', '.category', function() {
    $('#categoryImages').lightGallery().destroy(true);
});
4

2 回答 2

1

作为文档,它应该是这样的:http ://sachinchoolur.github.io/lightGallery/docs/api.html#methods

var cI = $('#categoryImages');
cI.lightGallery();
$('body').on('click', '.category', function() {        
    cI.data('lightGallery').destroy(true);
});

更新小提琴:http: //jsfiddle.net/n5w7eoxh/11/

于 2018-06-15T10:27:45.217 回答
1

您需要保存对初始化插件的引用,然后在ajax完成后调用destroy,在调用destroy后重新初始化插件

var gal = $('#categoryImages');
gal.lightGallery();
/...
request.done(function(data) {
//...
$('.ajxcategoryImages').html(subcategoryImages1); //append the results 
  gal.data('lightGallery').destroy(true);//destroy the current gallery
  gal.lightGallery();//create a new one
/..
于 2018-06-15T10:27:48.430 回答