将自定义数据传递给FancyBox图库

时间:2011-10-22 11:21:02

标签: javascript jquery fancybox

我正在使用FancyBox创建标准图库。该页面显示缩略图列表,这些缩略图链接到FancyBox中显示的较大版本。我想将另一个URL传递给FancyBox,因此它将显示指向图像的完整版本的链接。

我可以看到,一种方法是在链接的title属性中添加额外的内容,并在titleFormat函数中解析出来。但是,这会搞砸缩略图中的工具提示。

有没有其他方法可以将我需要的额外数据传递给FancyBox? 警告说,有没有办法访问FancyBox中显示的图像的URL,我可以从中推断出全分辨率图像的URL?

感谢。

2 个答案:

答案 0 :(得分:1)

在这种情况下,我能够从预览中推断出全尺寸图像的URL。 titleFormat函数的currentArray和currentIndex参数给了我所需要的东西。

function doFancyBox() {
    $('a[rel=imageGroup]').fancybox({
        'titlePosition': 'inside',
        'titleFormat': function (title, currentArray, currentIndex, currentOpts) {
            return "<span class=\"Title\">" + title + "&nbsp;&nbsp;:&nbsp;&nbsp;<a href=\"" + inferFullSizeFromUrl(currentArray[currentIndex]) + "\">Full Size Image</a></span>";
        }
    });
}

function inferFullSizeFromUrl(url) {
    var str = url.toString();
    return url.replace(/_preview/i, "");
}

答案 1 :(得分:0)

您可以添加自己的内容,例如$('#fancybox_div').fancybox('<img src="1.jpg" />')