您的位置:首页 > 其它

解决div被FusionChart/Flash挡住的问题

2009-11-07 10:46 323 查看
之前在网上找到一做统计的组件FusionChart,却实功能蛮强大的,最终生成的统计图是flash文件,还有动态效果,很不错。但今天碰到了一个,当我在使用了FusionChart的页面弹出一个div时,发现FusionChart生成的Flash上会产生层遮挡问题。网上找到很久,大都说flash遮挡了div可以在flash的参数中添加如下代码:
Code
在Flash里面加两个参数:
<param name="wmode" value="transparent">
<param name="wmode" value="Opaque">
说明:
<param name="wmode" value="transparent"> FLASH将透明
<param name="wmode" value="Opaque"> FLASH仍将保持不透明
Flash的例子:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase=" http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0 " width="760" height="80">
<param name="movie" value=" http://ad.1m1m.com/AdFiles/200774817589544.swf ">
<param name="quality" value="high">
<embed src=" http://ad.1m1m.com/AdFiles/200774817589544.swf " quality="high" pluginspage=" http://www.macromedia.com/go/getflashplayer " type="application/x-shockwave-flash" width="760" height="80"></embed>
<param name="wmode" value="transparent">
<param name="wmode" value="Opaque">
</object>

但这并不能解决我的问题,因为FusionChart是一个第三方的组件,它不像我们平常使用flash那样,在页面上写一个object,FusionChart的封装里会自动帮你写这些代码。那么不是就没有地方再让你写param了吗?其实不是的,当你打开FusionChart的js文件FusionChart.js时,你会看到有this.addParam('quality', 'high'); 这样的代码,其实这就是添加flash的参数,那么我们就可以解决这个问题了。相关代码如下:

修改FusionChart.js文件
//Set background color
if(c) { this.addParam('bgcolor', c); }
//Set Quality
this.addParam('quality', 'high');
this.addParam('wmode', 'transparent');//这个是需要添加的
//Add scripting access parameter
this.addParam('allowScriptAccess', 'always');
但是这会引起背景色的变化,所以需要自己设置Chart的背景属性

参考原文:http://blog.csdn.net/alex197963/archive/2009/09/27/4600786.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: