FusionCharts或其它flash的div图层总是浮在最上层的问题

div的图层由div的style中的z-index来决定,z-index是层垂直屏幕的坐标,0最小,越大的话位置越靠上。

由于FusionCharts的图表都放在div中,如果页面还有其他的div,将被FusionCharts的图层挡住。不过设置z-index并不起作用,其他的div仍然被挡住。经过网络上查找,发现原来是这样的:

flash的图默认情况下总是位于最上层,参考下面的文档:

<param name="WMODE" value="transparent">

<param name="wmode" value="Opaque">

<param name="wmode" value="Window">

NOTE: 支持其它浏览器(firefox opera etc.) 则使用 <embed wmode="transparent" />在embed节点中加入wmode值.

window 模式

默认情况下的显示模式,在这种模式下flash player有自己的窗口句柄,这就意味着flash影片是存在于Windows中的一个显示实例,并且是在浏览器核心显示窗口之上的,所以flash只是貌似显示在浏览器中,但这也是flash最快最有效率的渲染模式。由于他是独立于浏览器的HTML渲染表面,这就导致默认显示方式下flash总是会遮住位置与他重合的所有DHTML层。

但是大多数苹果电脑浏览器会允许DHTML层显示在flash之上,但当flash影片播放时会出现比较诡异的现象,比如DHTML层像被flash刮掉一块一样显示异常。

Opaque 模式

这是一种无窗口模式,在这种情况下flash player没有自己的窗口句柄,这就需要浏览器需要告诉flash player在浏览器的渲染表面绘制的时间和位置。这时flash影片就不会在高于浏览器HTML渲染表面而是与其他元素一样在同一个页面上,因此你就可以使用z-index值来控制DHTML元素是遮盖flash或者被遮盖。

Transparent 模式

透明模式,在这种模式下flash player会将stage的背景色alpha值将为0并且只会绘制stage上真实可见的对象,同样你也可以使用z-index来控制flash影片的深度值,但是与Opaque模式不同的是这样做会降低flash影片的回放效果,而且在9.0.115之前的flash player版本设置wmode=”opaque”或”transparent”会导致全屏模式失效。

了解了各种模式的实现方式和意义在以后的开发中就可以按照具体情况选择设置wmode属性的值了。

所以只要将flash的wmode设置成opaque就行了。所以在页面加载FusionCharts图表时,修改参数wmode,在页面上加载flash的js代码中加上这句 chart.addParam("wmode","Opaque");就可以了

时间: 2024-10-10 17:26:06

FusionCharts或其它flash的div图层总是浮在最上层的问题的相关文章

如何调整Flash与div的相互位置

让flash置于DIV层之下的方法,让flash不挡住飘浮层或下拉菜单,让Flash不档住浮动对象或层的关键参数:wmode=opaque. 方法如下:兰西县璩家摄影 针对IE 在<object></object>内加上参数<param name="wmode" value="opaque" /> 针对FF 在<embed />内加上参数wmode="opaque" 标准的的Flash插入 <

input输入什么div图层显示什么

<html> <meta charset="utf-8" /> <style > .ppp{ width:600px; height:300px; background-color:pink; } </style> <input type="text" id="ttt" name="" value=""  maxlength="" 

IE和Firefox下flash挡住div层的问题解决方法

1 <object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="100%" height="80"> 3 <param name="movie" value="flash地址" /> 4 <param name=&qu

JS的dom获取span和div图层内容

div和span都是图层,每一个图层都是独立的单元,独立的块对象所以他们可以采用很好的进行网页的布局[layout]div灵活 table固定div独占一行 span不会独占一行获取dom对象 设置div中的html代码 innerHtml属性不只是在div元素中还是用设置元素nebula的html代码并且这个属相可以将后面的字符串当做一段html代码解释并执行最终展示一个效果 <!DOCTYPE html><html lang="en"><head>

flash与div层级问题

今天在工作中用到flash,flash工程师没有给接口调用其点击事件, 在js中无法绑定flash的点击事件,应该是flash默认禁掉了DOM的点击, 自己想在flash包裹层上添加一个兄弟节点div#btn来触发点击事件. 布局如下. HTML: <div class="giftBtn"> <div id="flash_wrap"></div> <div id="giftBtn"> </di

【CSS】div图层边界对英文换行控制的问题

没有写过英文版的网页不知道, 写过也未必知道, 在网页中,把英文放在div里面的话, div对于长单词,采用优先原则, 允许英语长单词超出我这个div的宽度, 比如如下的代码: <div style="width:100px; background:#dddddd"> I am a looooooooooooooooooooooooooooooooooooooooong word! </div> 本来我设置了这个图层的宽度是100px,希望里面的所有东西,遇到边

flash 遮住 div 解决办法

被遮盖的div 下面的代码 <!--列表菜单--> <div id="opreationmenu" style="position: absolute; left: 0px; top: 0px; width: 200px; height: 240px; background: #ffffff; display: none;"> <iframe frameborder='1' style='-moz-opacity: 0; -webkit

Flash挡住DIV的解决方法

<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="778" height="80"> <param name="movie&

报表与打印学习总目录

以前写了一些关于报表的和打印类的文章,包括一些转载的,这里做下总结 一.RDLC系列 RDLC系列之一 简介和入门 RDLC系列之二 子报表 RDLC系列之三 图片显示 RDLC系列之四 常见错误 RDLC系列之五 初试XAML RDLC系列之六 打印纸张的大小(未解决) RDLC系列之七 条码打印 RDLC直接打印帮助类 RDLC使用手册_RDLC报表部署 RDLC报表系列--------行分组报表 ReportViewer (RDLC) 中的换行符是什么 Visual Studio 2005