3

我已经在我的本地站点上实现了 lighgallery 插件......这不适用于 dom 元素......

例如

1.) 将使用 js 创建的 dom 元素附加到 html 代码..

如果我在 js 中创建这样的东西,"<span id='imgcon'><a href="image"><img src="image"></a></span>"并且所有代码都在一个变量中,让我们调用galleryview(var galleryview)并且这个变量我附加到 html 文件中的 div<html><head></head><bdy><div class="container"></div></bdy></html>并像这样从 js 文件代码$(".container").append(galleryview);中附加,最后我使用这个$(".imgcon").lightGallery();不工作...

这是jsfiddle 演示不适用于 dom

2.) 图像在 html 代码中

我有像这样的 html 代码<html><head></head><bdy><div class="container"><span class="imgcont"><a href="image"><img src="image"></a></span></bdy></html> 这可以正常工作。$(".imgcon").lightGallery();

这是没有 dom的jsfiddle 工作演示。

问题:为什么我不能将 dom 与 lightgallery 一起使用?

第一个演示不工作,因为我使用 js dom,第二个演示工作,因为我在 html 文件中使用 html 代码.. 或者我的代码有任何问题..

4

2 回答 2

1

只需将您的$(".imagecontiner").lightGallery(); 内部处理click程序

http://jsfiddle.net/o0y70kv0/1/

以上仅适用于第一个动态创建的凝胶。
使其适用于多个元素:预先创建内存中可附加元素并分配给每个.lightGallery()实例

http://jsfiddle.net/o0y70kv0/6/

$(document).ready(function() {
    var imagesarray = [
        "http://www.planwallpaper.com/static/images/Winter-Tiger-Wild-Cat-Images.jpg",
        "http://www.gettyimages.ca/gi-resources/images/Homepage/Category-Creative/UK/UK_Creative_462809583.jpg",
        "http://blog.jimdo.com/wp-content/uploads/2014/01/tree-247122.jpg",
        "http://i765.photobucket.com/albums/xx291/just-meller/national%20geografic/Birds-national-geographic-6873734-1600-1200.jpg",
        "http://www.gettyimages.com/gi-resources/images/CreativeImages/Hero-527920799.jpg"
    ];

    var hiddenimages = "",
            albumcover;

    $("#appendnewcontainer").click(function() {

        $("<span />", {
            class : "container",
            appendTo : $("#fotoappendarea"),
            append : $("<span />", {
                class : "imagecontiner",
                html : "<a class='dfed' href=" + imagesarray[1] + "><img src='" + imagesarray[1] + "' class='_34'/></a>"
            }).lightGallery()
        });

    });
});
于 2015-12-15T20:49:39.163 回答
0

当您生成图库项目之后,您需要在项目中使用以下代码

    var $methods = $('#gallery-container');

$methods.lightGallery();
$methods.data('lightGallery').destroy(true);
$methods.lightGallery({
    thumbnail: true,
    animateThumb: true,
    showThumbByDefault: true,
});
于 2020-05-01T09:09:26.687 回答