我的网站有一个功能,用户可以从下拉框中选择音频,当他们这样做时,会调用$.post
功能,它会输出音频播放器的div(自动启动)。我遇到的问题是我不希望用户看到音频播放器,当我使用.hide();
音频播放器在firefox中不起作用,但在其他浏览器中有效。如果我将音频播放器宽度设置为0px,则无法在safari中使用。我尝试通过css格式化div
#sound {
width:0px;
height:0px;
}
但它没有任何影响(是的,名称是正确的)。那么有什么替代方法可以隐藏div,它可以在所有浏览器上运行。顺便说一下,音频播放器是flash swf文件。
答案 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,它可以工作。