2009-07-22 39 views
1

我有一个flex应用程序,我想隐藏在一个div中,直到用户单击某个类型的链接或元素。我注意到,将swf嵌入到具有样式显示的div中:没有一个不会实际隐藏swf,那么我将如何去完成此操作?在div中隐藏/显示swf?

目标是在用户做其他事情时在后台加载Flex应用程序。 谢谢。

回答

2

我通常只是迫使容器1的高度/宽度由1个像素...

<div style="height:1px; width:1px;" >... flash goes here ...<div> 

然后,当我需要的闪光灯,我将重新设置高度/宽度为宜。请注意,如果您想将hw重置为“100%”,并将其绑定到父div,则可能需要将其放置到父容器中,并使用“position:relative; height:?px; width:?px”设置。

5

尝试将下列wmode设置为您的Flash对象,并使用visibility: hidden;以及。

  1. 贵网页上有较大的z-index比什么
  2. 不继承其父显示:

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

    默认情况下,闪光灯基本结束了你的内容,这是覆盖窗口(将display: none; visibility: hidden;设置为<object>标记将起作用)。

通过设置wmodeopaque,它主要是告诉闪存对待你<object>作为一个正常的DOM标签,这是为了响应正常的继承和z-index的规则。它具有非常小的性能成本。

另外,请注意,某些浏览器在显示之前不会加载该对象。

+0

这不适用于IE8,IE6或Opera。 display:none仍然无法隐藏嵌入的swf。 我需要这个在所有浏览器中工作,本质上。 (Opera,Chrome,IE6/7/8,Firefox3/3.5/3.5.1,Safari 3+) – 2009-07-22 21:07:45