div层总是被flash层遮盖的解决方案
在网页设计中经常由于客户的种种需求,而需要DIV层和FLASH的交互,但是往往DIV都被FLASH遮盖住了。
过去参与的一个项目:http://www.digitalwuhan.gov.cn/index.html(该网站问题多多就不说了,各位就不用批网站的问题了,现在只讨论本论题。)
顶部的flash就涉及此问题,具体是怎么解决的呢?因为今天看到有人提出此问题,就把解决方案拿出来分析一下。
先看该网站的FLASH加载代码:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" name="red1" width="1003" height="218" align="middle" id="red1">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="images/top_blue.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<param name="bgcolor" value="#ffffff" />
<embed src="images/top_blue.swf" quality="high" wmode="transparent" bgcolor="#ffffff" width="1003" height="218" name="red1" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
主要起作用的就是用红色和绿色标注的这两句,其中红色的<param name="wmode" value="transparent" />这句主要用于IE下的效果实现,绿色的wmode="transparent"则是Firefox下效果实现的代码。
附加资料:
关于wmode属性资料:
(可选)允许使用 Internet Explorer 4.0 中的透明 Flash 内容、绝对定位和分层显示功能。此标记/属性仅在带有 Flash Player ActiveX 控件的 Windows 中有效。
"Window"在 Web 页上用影片自己的矩形窗口来播放应用程序。"Window"表明此 Flash 应用程序与 HTML 层没有任何交互,并且始终位于最顶层。
"Opaque" 使应用程序隐藏页面上位于它后面的所有内容。
"Transparent"使 HTML 页的背景可以透过应用程序的所有透明部分显示出来,并且可能会降低动画性能。
"Opaque windowless"和"Transparent windowless"都可与 HTML 层交互,从而允许 SWF 文件上方的层遮蔽应用程序。这两种选项之间的差异在于"Transparent"允许透明,因此,如果 SWF 文件的某一部分是透明的,则 SWF 文件下方的 HTML 层可以透过该部分显示出来,而"opaque"则不会显示。
如果忽略此属性,默认值为 Window。仅适用于 object。
最后更新:2009-2-16
"abc"+j+"_mc" 这个是置于舞台后的实例名 100+j 这个是置于舞台后的深度,数字大的上面

最近评论