gpt4 book ai didi

javascript - 灯箱 2 : how to add dynamically images via javascript

转载 作者:行者123 更新时间:2023-11-28 04:10:29 25 4
gpt4 key购买 nike

我在尝试动态添加图像时遇到问题,因为 lightbox2(由 lokesh dakar 制作)是在文档加载后由现有的 html 编码图像初始化的,但它不会第一次之后再解析文档。

如果我尝试使用 javascript 添加新图像(例如将它们附加到正文中),它们不会添加到灯箱组中。

官方网站的文档似乎没有描述任何脚本方法

谁有经验可以帮帮我?非常欢迎使用 jquery 的解决方案,但我也可以很好地处理 vanilla js。


代码示例:

HTML

<body>
<div id="container">
<a href="images/image-2.jpg" data-lightbox="roadtrip">Image #2</a>
<a href="images/image-3.jpg" data-lightbox="roadtrip">Image #3</a>
<a href="images/image-4.jpg" data-lightbox="roadtrip">Image #4</a>
</div>
<!-- where 'Image #X' = <img src="images/thumb/image-X.jpg>" -->
<div id="loadmore">load more images</div>
<script src="path/to/lightbox.js"></script>
<script>
/* see below for the script */
</script>
</body>

javascript

$(function(){
$('#loadmore').click(function(){
//ajax request for more images.
//load them with all the needed properties...
//then put them into the container:
var IMG = $('<a href="images/image-10.jpg" data-lightbox="roadtrip">'+
'<img src="images/small/image-10.jpg">'+
'</a>');
//magic here... add IMG to roadtrip lightbox group!!!
//probably something like lightbox.groups['roadtrip'].add(IMG)
//but i'm only speculating
$('#container').append(IMG)
});
})

最佳答案

在花了几个小时测试和阅读代码后,我想出了这个神奇的代码:

//set album values
IMG = $('<a href="...">')
.attr('data-lightbox','roadtrip')
.append('<img src="...">')
//lightbox open:
IMG.click(function(){
lightbox.start($(this));
return false;
})

一些有用的提示:

  • 不要使用 $(...).data('lightbox','group') 设置数据,因为 lightbox 使用选择器 $('a[ data-lightbox]') 每次点击一个链接。相反,您应该使用 $(...).attr('lightbox','group')

  • lightbox.album 是一个您不需要处理的临时变量。

关于javascript - 灯箱 2 : how to add dynamically images via javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34454681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com