2013-02-14 4 views
0

У меня есть FancyBox, который получает открыт через:Целевая ссылка, открывающая fancybox в функции beforeClose?

$('.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 (это то, что я хочу делать), он перезагружает все изображения на странице рядом с ссылкой, которая была нажата.

Есть ли способ, которым я могу настроить таргетинг на ссылку, которую я нажал, чтобы открыть fancybox из функции beforeClose?

Я ничего не могу найти в документации fancybox о том, как это сделать.

ответ

2

Вместо этого:

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

... попробуйте это:

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

См JSFIDDLE

+0

Только то, что я искал, спасибо! – Nick

Смежные вопросы