Javascript Fancybox 2在加载前和关闭后不触发,以在激活时隐藏/显示div

Javascript Fancybox 2在加载前和关闭后不触发,以在激活时隐藏/显示div,javascript,jquery,css,iframe,fancybox-2,Javascript,Jquery,Css,Iframe,Fancybox 2,我试图在Fancybox 2中使用加载前和加载后和关闭后。 我需要在Fancybox打开并显示一个公文包时,在iFrame中隐藏一个flash动画,该动画位于#elanceFramediv中,然后在Fancybox关闭时再次显示该div 这是因为iFrame不符合IE中的z索引,并且没有被Fancybox“淡出”,并且与Fancybox图像一起位于前景中。因此,我想在Fancybox运行时显示noneelaceiframediv 这是fancybox init函数,它可以运行公文包,但在加载之前

我试图在Fancybox 2中使用加载前
和加载后
和关闭后

我需要在Fancybox打开并显示一个公文包时,在iFrame中隐藏一个flash动画,该动画位于
#elanceFrame
div中,然后在Fancybox关闭时再次显示该div

这是因为iFrame不符合IE中的z索引,并且没有被Fancybox“淡出”,并且与Fancybox图像一起位于前景中。因此,我想在Fancybox运行时显示
none
elaceiframe
div

这是fancybox init函数,它可以运行公文包,但在加载之前和关闭之后都不会启动

$(document).ready(function() {
   $("a[data-fancybox-group=portfolio]").fancybox({
    'transitionIn' : 'none',
    'transitionOut' : 'none',
    'overlayColor' : '#000',
    'overlayOpacity' : 0.7,
    'beforeLoad' : function(){
       $("#elanceiframe").css('display', 'none');
     },
    'afterClose': function() {
       $("#elanceiframe").css('display','block');
     } 
   });
});
我是否正确使用加载前<代码>和关闭后<代码>功能

我是否需要在
#elanceiframe
div上使用CSS,比如
显示:无

2013年4月12日编辑


以上示例效果良好;我在函数中调用了错误的
div

代码中的选项)

beforeLoad: function () {
    $("#elanceiframe").css('display ', 'none');
},
afterClose: function () {
    $("#elanceiframe").css('display ', 'block ');
}
我觉得不错

您甚至可以操纵iframe的
src
属性的值,这样您的文档就不会像使用
display:none
那样跳转

var thesrc;
$(".fancybox").fancybox({
    beforeLoad: function () {
        thesrc = $("#elanceiframe").attr("src");
        $("#elanceiframe").attr("src", "");
    },
    afterClose: function () {
        $("#elanceiframe").attr("src", thesrc);
    }
});

请参见。顺便说一句,您的一些API选项适用于fancybox v1.3.x,不能与v2.x一起使用。请检查文档中是否有正确的选项:

它们对我来说很不错。您甚至可以通过操纵
iframe
src
属性的值,这样您的文档就不会像使用
display:none
顺便说一句,您的一些API选项适用于fancybox v1.3.x,不能与v2.x一起使用。请检查文档中是否有正确的选项啊,您是对的;我搞错了,并按名称调用了错误的div。但是您保持框架容器大小的想法很好;它位于侧栏中,因此不太重要。但是您应该将其作为一个答案添加进来,以便我可以为您提供信任谢谢你的帮助和建议!我的flash在一个边栏div中,所以它不会影响页面的布局,但我最终调用了其他CSS来保持div的大小。但是总体来说,我在函数中调用了错误的div。