2010-04-22 103 views
2

我试图显示/隐藏基于按钮的点击Flash对象,但代码是不工作
//to hide
$('object').css({visibility: 'hidden'});
//to show
$('object').css({visibility: 'visible'});
jQuery的Flash对象显示隐藏

我不想使用.show()和.hide( ),因为它们也将删除Flash内容的区域。

回答

1
$('object') 
.wrap('<div class="fl-wrapper">') // Wrap the flash object in a div. 
.parent().css({'overflow':'hidden'}) // Set the wrapper to overflow hidden. 
.children().css({'margin-left':-99999}); // Set flash object to be out of box. 

然后切换回来,您可以:

$('object').css('margin-left',0); 

我只在Firefox中测试这一点。对于其他浏览器,您可能还需要将wrapper div的高度和宽度设置为等于对象的高度和宽度。

0

从我所看到的情况来看,这是不可能的(特别是跨浏览器)。即使使用隐藏/显示在IE6/7中也不起作用。我见过的唯一解决方案是从DOM中删除对象/将其追加回DOM。

+0

如何从dom中删除它? – 2011-04-29 15:46:50

+0

'$('object')。remove();'如果您使用的是jQuery,'会将它从DOM中移除。 – RussellUresti 2011-04-29 16:58:27