我正在使用shadowbox.js进行图片库显示。
为此,我们必须生成这样的html
<a href="images/Ganesha3602.jpg" rel="shadowbox[my]"><img src="images/thumb.jpg" alt="First" title="First image" /></a>
<a href="images/original.jpg" rel="shadow[my]"><img src="images/thumb.jpg" alt="Second" title="Second image" /></a>
<a href="images/original.jpg" rel="shadowbox[my]"><img src="images/thumb.jpg" alt="First" title="First image" /></a>
然后在 body 负荷上应用
Shadowbox.init()
。当上面的html是静态的时,它的工作就像一种魅力。但是当我使用$.ajax
动态生成它并成功调用Shadowbox.init()
时;阴影框不起作用。我还尝试完整地调用Shadowbox.init()
。我的代码是这样的:
$(document).on('click','#load_posts_comments',function(){
$.ajax({
url:"post_comment_json.php",
type: "POST",
dataType: "json",
data:{user_id:"123"},
success: function(data){
load_posts_comments(data);
},
complete: function(){
Shadowbox.init();
}
});
});
我要去哪里错了?我查看了Shadowbox网站,但没有有关动态加载内容的文档。帮助将不胜感激。
最佳答案
您需要使用Shadowbox.clearCache();
和Shadowbox.setup();
重新初始化它。
这里的解释要好得多:shadowbox stops working after jquery function call