1

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

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

4

6 回答 6

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'); 
于 2012-08-12T18:55:36.017 回答
2

您没有尝试使用display:none;or的 CSS 属性吗visibility:hidden;?您甚至可以在浏览器检测中设置这些属性。

于 2012-08-12T18:55:07.150 回答
1

尝试这个:

$('#sound').css('visibility', 'hidden').hide();
于 2012-08-12T18:54:44.530 回答
1

尝试opacity:0;visibility:hidden;

于 2012-08-12T18:55:07.140 回答
1

如果您隐藏 Flash 电影,大多数浏览器都足够聪明,可以理解不需要对其进行初始化。

因此,您可以给它一个非常小的宽度和高度,在嵌入它时将 wmode 参数设置为透明或不透明(这允许您在其上放置 HTML 元素),然后在 Flash 影片的顶部放置一个白色 div。将 html 元素放在 flash 顶部以覆盖它不会被视为隐藏,没有浏览器那么聪明然而:-)

于 2012-08-12T18:55:14.030 回答
1

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

于 2012-08-12T18:57:39.950 回答