2013-04-02 83 views
0

我刚更新到Fancybox 2,我的Flash动画不再有背景颜色。这是我用于Fancybox 1的代码,它不再适用。Fancybox 2 - SWF背景颜色不工作

$("#myFlashFile").fancybox({ 
    'width' : '650', 
    'height' : '620', 
    'autoScale' : false, 
    'transitionIn' : 'fade', 
    'transitionOut' : 'fade', 
    'speedIn' : 800, 
    'speedOut' : 200,     
    'type' : 'swf', 
    'wmode' : 'opaque', 
    'swf' : {bgcolor:'#ffcc00'}, 
    'overlayShow' : true, 
    }); 

调用的背景颜色中的fancybox 1所述的线是:

'swf' : {bgcolor:'#ffcc00'} 

编辑 我取代 '瑞士法郎':{BGCOLOR: '#FFCC00'},与

 'beforeShow': function(){ 
      $(".fancybox-skin").css("backgroundColor","#ffcc00"); 
       }  

它现在有效。最终的代码如下所示:

 $("#myFlashFile").fancybox({ 
    'padding' : 6,   
    'width' : '650', 
    'height' : '620', 
    'autoScale' : false, 
    'openEffect': 'fade', 
    'prevEffect': 'fade', 
    'nextEffect': 'fade', 
    'openSpeed' : 300, 
    'closeSpeed' : 200,  
    'type' : 'swf', 
    'wmode' : 'opaque', 
    'beforeShow': function(){ 
      $(".fancybox-skin").css("backgroundColor","#ffcc00"); 
       }  
    }); 
+0

Fancybox 2的选项是新的,不兼容以前的版本。请检查http://fancyapps.com/fancybox/#docs,以获取正在使用的版本的正确选项。另一方面,你的意思是fancybox容器内的背景颜色? – JFK

+0

它为swf文件显示的唯一值是:wmode:'transparent',\t allowfullscreen:'true',allowcriptaccess:'always'。如果它是网页上的Flash文件,我会使用:,因此旧代码使用bgcolor。我不知道为什么我不能再传递闪光灯参数。假设我只能将其更改为“#myFlashFile”,那么更改容器内的背景颜色可能会起作用。 – scryren

+0

我最终使用beforeShow来更改#myFlasFile的背景颜色。我编辑了我原来的帖子。 – scryren

回答

0

我遇到同样的问题跑,所以我只是改变了默认的jquery.fancybox.js文件。 来源:

swf : { 
    wmode: 'transparent', 
    allowfullscreen : 'true', 
    allowscriptaccess : 'always' 
}, 

要:

swf : { 
    wmode: 'opaque', 
    allowfullscreen : 'true', 
    allowscriptaccess : 'always' 
}, 

工作就像一个魅力!