我有一个通过以下方式打开的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个fancybox时才有效。如果有多于1个(这是我想要做的),那么它会将页面上的所有图像重新加载到被点击的链接旁边的图像。
有没有办法可以定位我点击的链接,从beforeClose
函数中打开fancybox?
我在fancybox文档中找不到有关如何执行此操作的任何内容。
答案 0 :(得分:2)
而不是:
var imgObj = $('.fancybox').siblings('img');
...试试这个:
var imgObj = $(this.element).siblings('img');
参见 JSFIDDLE