0

我有一个可以通过以下方式打开的fancybox:

$('.fancybox').fancybox({
    type: 'iframe',
    fitToView : false,
    autoSize : false,
    height : 550,
    width : 650,
    beforeClose: function () {
        d = new Date();
        var imgObj = $('.fancybox').siblings('img');
        var imgSrc = imgObj.attr("src");
        imgObj.attr("src", imgSrc+"?"+d.getTime());
    }
});

正如您在beforeClose函数中看到的那样,我试图定位单击的链接的同级图像,并通过将时间附加为查询字符串来重新加载图像。

上面的代码有效,但它仅在页面上有 1 个幻想框时才有效。如果超过 1 个(这是我想要做的),那么它将页面上的所有图像重新加载到单击的链接旁边的图像。

有没有办法可以定位我单击的链接以从beforeClose函数中打开 fancybox?

我在fancybox 文档中找不到有关如何执行此操作的任何内容。

4

1 回答 1

2

而不是这个:

var imgObj = $('.fancybox').siblings('img');

... 尝试这个 :

var imgObj = $(this.element).siblings('img');

JSFIDDLE

于 2013-02-14T19:06:43.573 回答