问题描述
我正在尝试让fancybox 在灯箱中显示一系列图像。我有一个JS对象fancybox_img,这里是这个对象的内容:
{card_173: Array(1),card_171: Array(5),card_169: Array(4)}
card_169: Array(4)
0: {src: "flat6.jpeg"}
1: {src: "flat7.jpg"}
2: {src: "flat6.jpeg"}
3: {src: "flat4.jpg"}
length: 4
__proto__: Array(0)
card_171: (5) [{…},{…},{…}]
card_173: [{…}]
__proto__: Object
所以我试图选择每张卡片并显示图像数组:
jQuery('#module_properties .item-tool').click(function() {
var idCard = jQuery(this).parents(".card").data("card");
var imgCard = fancybox_img[idCard];
jQuery.fancybox.open([
imgCard
]);
});
imgCard 的 Console.log :
0: {src: "flat6.jpeg"}
1: {src: "flat7.jpg"}
2: {src: "flat6.jpeg"}
3: {src: "flat4.jpg"}
length: 4
__proto__: Array(0)
当我点击时,fancybox 显示它是一个对象。这里是给fancybox显示多个图像的例子。
以编程方式打开图库的示例(选项是可选的):
$.fancybox.open([
{
src : '1_b.jpg',opts : {
caption : 'First caption',thumb : '1_s.jpg'
}
},{
src : '2_b.jpg',opts : {
caption : 'Second caption',thumb : '2_s.jpg'
}
}
],{
loop : false
});
我不知道如何做同样的事情 {src: 'url'},{src: 'url2'}.... 谢谢大家的建议
解决方法
看起来你只需要简单地替换
jQuery.fancybox.open([
imgCard
]);
与
jQuery.fancybox.open(imgCard);