如何在dynamicEl发生变化时刷新lightgallery

时间:2015-12-13 22:46:14

标签: lightgallery

我有不同的专辑,我想在lightgallery中显示其内容。

我的初次调用如下:

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

这很完美,但是,当打开另一张专辑时,我希望以一种或另一种方式刷新,以便显示dynamicEl的新内容。

有办法吗?

我正在尝试

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

之前,但是搞砸了。即似乎有一些功能,但看起来灯箱失去了一些造型而且不再是不透明的。

任何提示?

1 个答案:

答案 0 :(得分:0)

我正在使用Waypoint.js无限滚动光幕。

我找到的动态刷新解决方案是:

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初始化返回的对象必须在destroy上使用。

希望它有所帮助。