我遇到了Fancybox Windows的问题。我使用fancybox在我的页面上显示隐藏div的内容(下面的“.popup”fancybox)。在该内容中,有一个名为#exemple的新fancybox内容的链接。当我点击第一个fancybox中的链接时,它会加载第二个fancybox内容(iframe - 这很好)。但是当用户点击第二个fancybox的关闭按钮时,我想回到第一个fancybox。
我试过“onClosed”事件,但它不起作用......
有办法吗?
提前感谢您的帮助!
以下是我使用的代码:
$("#exemple").fancybox({
'width' : '100%',
'height' : '100%',
'titleShow' : true,
'titlePosition' : 'over',
'titleFormat' : formatTitle,
'autoScale' : false,
'centerOnScroll' : true,
'type' : 'iframe',
'onClosed' : function() {
alert('test');
$(".popup").trigger('click');
}
});
$(".popup").fancybox({
'autoScale' : false,
'centerOnScroll' : true
});
// and here is the HTML code to trigger the hidden div:
<a style="font-weight: bold;" href=#data class=popup>our data</a>
//and the HTML code of the link inside the hidden div that gets displayed in the fancybox:
<a id=exemple title="xxx" href=xxx.php?id=xxx>link</a>
答案 0 :(得分:5)
我正在使用相同的东西而且onClosed没有用。经过大量研究后,我发现存在某种版本问题,并且onClosed适用于旧版本的花式框。另一种对我有用的方法是使用beforeClose而不是onClosed。
'beforeClose':function(){alert('test')},
这可能对一些读者有所帮助。
答案 1 :(得分:4)
如果你有一个jsFiddle可以帮忙,但首先尝试将onClosed
函数代码包装在setTimeout
中。零时间就足够了:
'onClosed' : function() {
setTimeout(function(){
$(".popup").trigger('click');
}, 0);
}
答案 2 :(得分:1)
'onClosed'=> 'js:function() { alert("test") }',
注意:我们需要输入“js:”
我自动调用fancybox(使用扩展名)
对我来说工作正常