将图像数组添加到 Fancybox

问题描述

我正在尝试让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);