0

基本上,我有一个设置为在按下按钮后播放 10 秒的 swf 文件。当 swf 应该弹出时,它会在 swf 加载时显示白屏。我想消除这一点。这是我现在使用的 javascript,用于在按钮按下 10 秒后显示 swf:

<script type="text/javascript">
    function flash() {
 $('#stage').html('<OBJECT style="z-index:2; position:absolute; top:20%; left:15%;" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="90%" HEIGHT="70%" id="rice" ALIGN=""><PARAM NAME=movie VALUE="rice.swf"><PARAM NAME=quality VALUE=low><EMBED src="rice.swf" quality=low bgcolor=#EEEEEE WIDTH="90%" HEIGHT="90%" NAME="rice" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED> </OBJECT>');
}
</script>

我正在使用 setTimout 等待时间。这行得通,但正如我所说,它显示白色(嗯,我将 bgcolor 更改为 EEEEEE 以便该颜色)“加载”屏幕。我尝试将“display:none”放在 div、object 标记和 swf 所在的 embed 标记中,然后在按下按钮时使用 javascript 函数将“display:none”更改为“display:block” . 我知道 JS 函数有效,因为我将它用于页面上的其他元素。这是那个JS:

<script type="text/javascript">
    function showStuff(id) {
        document.getElementById(id).style.display = 'block';
}
</script>

如果我要这样做(隐藏然后显示 swf),我需要停止它的声音。我不需要在 swf 隐藏时暂停它,因为它是一个 0.5 秒的短循环动画。我希望有人能帮忙,谢谢。

4

1 回答 1

1

您应该使用jquery库来访问 show() 和 hide() 函数:) 像这样......

function showStuff(id) {
     $('#' + id).show();
}

还...在文档准备好时隐藏它...

$(document).ready(function(){ 
    $('#YourId').hide(); 
}); 

至于停止声音,你应该去这里: Stop music from in flash from javascript event

希望这有帮助:)

于 2012-08-25T18:10:19.297 回答