如何使用display none和block for flash对象?

时间:2009-07-17 08:31:49

标签: flash

我已经嵌入了一些闪存:

<div id="id" style="display:none;">
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="392" height="321" id="logo" align="middle" style="display:none">
        <param name="allowScriptAccess" value="sameDomain" />
        <param name="allowFullScreen" value="false" />
        <param name="movie" value="file.swf" />
        <param name="quality" value="high" />
        <param name="bgcolor" value="#000000" />
        <embed src="file.swf" quality="high" bgcolor="#0000000" width="392" height="321" name="logo" align="middle" allowscriptaccess="sameDomain" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
    </object>
</div>

它在div中,当我第一次创建样式时:display = none和以后阻止它在javascript函数调用上不起作用。有没有办法隐藏和显示javascript函数调用的flash对象div。

这是javascript:

document.getElementById("id").style.display = "block";

提前致谢。

1 个答案:

答案 0 :(得分:1)

我怀疑你需要做的是添加一个额外的参数:

<param name="wmode" value="opaque" />

因为Flash默认将电影渲染到覆盖在页面上的无边框窗口中,即在DOM的范围之外。

将窗口模式设置为“opaque”或“transparent”会使其呈现为内联,这意味着您可以隐藏和显示它。如果你想把东西放在它的顶部,你也需要这样做,比如另一个隐藏的&lt; div&gt;因为Flash的默认行为使其超出正常的z顺序。