【发布时间】:2010-04-22 18:33:19
【问题描述】:
我正在尝试根据单击按钮显示/隐藏 Flash 对象,但代码不起作用
//to hide
$('object').css({visibility: 'hidden'});
//to show
$('object').css({visibility: 'visible'});
我不想使用 .show() 和 .hide(),因为它们也会删除 Flash 内容的区域。
【问题讨论】:
我正在尝试根据单击按钮显示/隐藏 Flash 对象,但代码不起作用
//to hide
$('object').css({visibility: 'hidden'});
//to show
$('object').css({visibility: 'visible'});
我不想使用 .show() 和 .hide(),因为它们也会删除 Flash 内容的区域。
【问题讨论】:
$('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 中测试过这个。对于其他浏览器,您可能还需要将包装 div 的高度和宽度设置为等于对象的高度和宽度。
【讨论】:
据我所知,这是不可能的(尤其是跨浏览器)。即使使用隐藏/显示在 IE6/7 中也不起作用。我见过的唯一解决方案是从 DOM 中删除对象/将其附加回 DOM。
【讨论】:
$('object').remove(); 会将其从 DOM 中删除。