我搜索了论坛但我找不到解决方案。 我正在引用这个线程来执行自动关闭功能: http://groups.google.com/group/fancybox/browse_thread/thread/d09438b7 ... 我确实遵循了JFK的解决方案,它的工作正常:
'onComplete': function() {
$("#fancybox-wrap, #fancybox-overlay").delay(3000).fadeOut();
}
如果您不希望用户关闭该框,请添加modal = true
场景是我希望用户可以选择关闭 模式,当他们点击[关闭]按钮或点击任何地方 覆盖。我在Rails上使用最新版本的FB和jQuery。
这是我的剧本:
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery("#link_post").fancybox({
'autoDimensions':false,
'width':380,
'height':50,
'title':'This message box will automatically close in 10
seconds.',
'titlePosition':'outside',
'onComplete': function() {
jQuery("#fancybox-wrap, #fancybox-
overlay").delay(10000).fadeOut();
}
});
});
</script>
然而,当我点击关闭按钮时,标题并关闭 按钮会消失,但FB的内容和叠加仍然是 那里!它只会在10秒后消失。所以,我的问题是 如果用户点击关闭,如何覆盖'onComplete'功能 按钮自动关闭之前?
答案 0 :(得分:2)
好的,我找到了解决方案。仅供参考,我正在使用fancybox v1.3.1和jQuery v1.4.2
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery("#link_post").fancybox({
'autoDimensions':false,
'width':380,
'height':50,
'title':'This message box will automatically close in 10
seconds.',
'titlePosition':'outside',
'onComplete': function() {
jQuery("#fancybox-wrap, #fancybox-
overlay").delay(10000).fadeOut();
}
});
jQuery("#fancybox-close").click(function() {
jQuery('#fancybox-overlay').stop();
jQuery('#fancybox-wrap').stop();
});
});
</script>
答案 1 :(得分:2)
$(document).ready(function() {
$('.fancybox').fancybox({
'afterLoad': function() {
$(".fancybox-overlay").delay(3000).fadeOut();
}
});
});
这是工作!对于fancybox v2.x。