fancybox - 如何从打开的图像中放置链接?

Jon*_*onT 9 jquery image hyperlink fancybox

-largeAny Ideas伙计们?我正试图在fancybox中链接打开的图像.我到处都看了!听起来很简单......

所以这是我正在使用的代码:

<a id="manual1" href="javascript:;"><img src="/example-thumb.png" alt="example" /></a>
<script type="text/javascript" src="/Cms_Data/Sites/Base/Files/js/fancyboxV2.1.0/jquery.fancybox.pack.js"></script>

<script type="text/javascript">

$("#manual1").click(function() {
$.fancybox([
    '/example-large.jpg',
    '/example-large2.jpg',
    {
        'href'  : '/example-large3.jpg',
        'title' : 'Lorem ipsum '
    }
    ], {
        padding : 38,
        nextEffect : 'fade',
        prevEffect : 'fade'
    });
});
</script>
Run Code Online (Sandbox Code Playgroud)

voi*_*tan 6

我仍然不确定你在追求什么,但是如果你点击锚点你可以做两件事:找到图像及其src并将-thumb替换为-full并使用它来触发你的fancybox方法,或者你可以使用html5数据属性并告诉您想要的图像网址:

<a id="manual1" data-image="/example-full.jpg,/example-full-2.jpg'><img src="/example-thumb.png" alt="example" /></a>

<script type="text/javascript">
$('#manual1').click(function() {
    var data = $(this).data('images').split(','),
        options = {
            padding : 38,
            nextEffect : 'fade',
            prevEffect : 'fade',
            type: 'image'
        };
    $.fancybox.open(data , options );
})
 </script>
Run Code Online (Sandbox Code Playgroud)

和一个演示:http://jsfiddle.net/voigtan/jJpAM/2/

演示如果您只使用一个图像

$('.test').click(function() {
    var a = this,
        images = [],
        data = $(a).data('images').split(','),
        options = {
            padding : 38,
            nextEffect : 'fade',
            prevEffect : 'fade',
            type: 'image',
            afterShow: function() {
                $("img.fancybox-image").click(function() {
                    window.location.href = a.href;                        
                });
            }
        };
    $.fancybox.open(data , options );
    return false;
})
Run Code Online (Sandbox Code Playgroud)

和另一个演示:http://jsfiddle.net/voigtan/jJpAM/3/