jquery隐藏包含闪存的div而不重置它

时间:2009-12-01 12:11:00

标签: javascript jquery flash html

问候, 我用jquery UI编写了一个模态,它出现在flash电影的前面,因此模态中的html变得腐败,我试图在模态被触发之前隐藏电影并在关闭模态后重新出现,但每个都很好。 hide()和.show()flash动画被重置,而我想要的只是隐藏(不删除电影)并在触发后显示它。显示模态div。

3 个答案:

答案 0 :(得分:10)

在FF / linux,FF / WinXp,IE / WinXp,Safari / WinXp中测试过:

  • 将您的Flash容器DIV放入一个新的 DIV with overflow:hidden

基本:

  • 隐藏flash-div:$('#id_div_with_swf')。css(“left”,“ - 2000px”);
  • 显示flash-div:$('#id_div_with_swf')。css(“left”,“0px”);

或,用动画效果显示和隐藏:

  • 隐藏flash-div:$('#id_div_with_swf')。animate({left:“ - 2000px”},1000);
  • 显示flash-div:$('#id_div_with_swf')。animate({left:“0”},1000);

html示例:

<div style="width:200px; height:100px; overflow:hidden;">
<div id="id_div_with_swf" style="width:200px; height:100px; position:relative; left:0px; top:0px;">
<!-- flash here -->
</div>
</div>

你无法使用.css('visibility','visible'/'hidden')获得跨浏览器的工作解决方案

答案 1 :(得分:8)

工作解决方案:

使用$('#myvideo').css('visibility', 'hidden')隐藏和     $('#myvideo').css('visibility', 'visible')显示包含视频的div。

刚用firebug进行测试。

修改的: 请注意,这与.hide().show()不同,因为它们使用的是display css,而不是visibility

答案 2 :(得分:5)

也许将电影div移出屏幕。将它的左侧位置设置为-1000或类似的东西?

然后当另一个div消失时更换?