单击图像并在灯箱和缩略图jQuery中打开相同的图像

时间:2015-06-24 11:53:08

标签: javascript jquery fancybox

我使用fancybox在带有缩略图的灯箱中显示图像,我希望点击每个open_fancybox.img后,首先在灯箱中显示,点击图片。并且不会显示第一张照片。

例如:如果我点击了灯箱中的2_b.jpg和缩略图显示(选择)2_s.jpg
或者
例如:如果我点击了灯箱中的3_b.jpg和缩略图显示(选择)3_s.jpg
或者
例如:如果我点击了灯箱中的1_b.jpg和缩略图显示(选择)1_s.jpg

如何在不使用基于fancybox的情况下更改我的代码?

查看演示: http://jsfiddle.net/fsfucmhd/

<a class="open_fancybox" href="http://fancyapps.com/fancybox/demo/1_b.jpg"><img src="http://fancyapps.com/fancybox/demo/1_s.jpg" alt=""/></a>
<a class="open_fancybox" href="http://fancyapps.com/fancybox/demo/2_b.jpg"><img src="http://fancyapps.com/fancybox/demo/2_s.jpg" alt=""/></a>
<a class="open_fancybox" href="http://fancyapps.com/fancybox/demo/3_b.jpg"><img src="http://fancyapps.com/fancybox/demo/3_s.jpg" alt=""/></a>

<div class="Img" data-type="http://fancyapps.com/fancybox/demo/1_b.jpg" data-title="manual 1st title">1</div>
<div class="Img" data-type="http://fancyapps.com/fancybox/demo/2_b.jpg" data-title="2nd title"></div>
<div class="Img" data-type="http://fancyapps.com/fancybox/demo/3_b.jpg" data-title="3rd title"></div>


var arr = $('div.Img').map(function (elem) {
    return {
        href: $(this).data('type'),
        title: $(this).data('title')
    }
}).get();
$(".open_fancybox").click(function() {

    $.fancybox.open(arr, {
        nextEffect : 'none',
        prevEffect : 'none',
        padding    : 0,
        helpers    : {
            title : {
                type: 'over'  
            },
            thumbs : {
                width  : 75,
                height : 50,
                source : function( item ) {
                    return item.href.replace('_b.jpg', '_s.jpg');
                }
            }
        }
    });

    return false;
});

1 个答案:

答案 0 :(得分:0)

您应该根据文档使用fancybox。

$(document).ready(function() {
    $(".fancybox-thumb").fancybox({
        prevEffect  : 'none',
        nextEffect  : 'none',
        helpers : {
            title   : {
                type: 'outside'
            },
            thumbs  : {
                width   : 50,
                height  : 50
            }
        }
    });
});

jsfiddle example