Jquery Hide Div(需要替代)

时间:2012-08-12 18:52:19

标签: php javascript jquery css

我的网站有一个功能,用户可以从下拉框中选择音频,当他们这样做时,会调用$.post功能,它会输出音频播放器的div(自动启动)。我遇到的问题是我不希望用户看到音频播放器,当我使用.hide();音频播放器在firefox中不起作用,但在其他浏览器中有效。如果我将音频播放器宽度设置为0px,则无法在safari中使用。我尝试通过css格式化div

#sound { width:0px; height:0px; }但它没有任何影响(是的,名称是正确的)。那么有什么替代方法可以隐藏div,它可以在所有浏览器上运行。顺便说一下,音频播放器是flash swf文件。

6 个答案:

答案 0 :(得分:6)

$('#sound').css({position: 'absolute', width: '1px', height: '1px', left: '-999px', top: '-999px'});

$('#sound').css('opacity', 0);

两者都是黑客,但

在一些评论之后添加(不确定是否适用于他):

$('#sound').css({position: 'absolute', width: '1px', height: '1px', overflow: 'hidden'}).find('embed, object').css('margin-left', '1px'); 

答案 1 :(得分:2)

您是否尝试过使用display:none;visibility:hidden;的CSS属性。您甚至可以在浏览器检测中设置这些属性。

答案 2 :(得分:1)

试试这个:

$('#sound').css('visibility', 'hidden').hide();

答案 3 :(得分:1)

尝试opacity:0;visibility:hidden;

答案 4 :(得分:1)

如果你隐藏了flash电影,大多数浏览器都足够聪明,无法理解它不需要初始化它。

所以,你可以给它一个非常小的宽度和高度,在嵌入时将wmode参数设置为透明或不透明(允许你将HTML元素放在它上面),然后在flash的顶部放置一个白色div电影。将html元素放置在闪存顶部以覆盖它将不会被视为隐藏,没有浏览器 智能。 然而: - )

答案 5 :(得分:1)

#sound是音频播放器本身,还是它的包装?我相信如果你隐藏一个包装div,它可以工作。