免责声明:不要担心我的代码“符合标准”
基本上,我正在制作的页面应该在使用<object data="someAudio.wav">
标签加载时播放一个简短的音频剪辑。然后我使用 Javascript 和 setTimeout() 在延迟几秒钟后播放其他几个音频文件。setTimeout 通过使用 innerHTML 并使用新对象重写正确的 div 部分来完成此操作,其中该对象只是另一个音频。例如:
<script type="text/javascript">
setTimeout("update_audio()", 2500);
function update_audio(){
document.getElementById('slide_audio').innerHTML="<object classid='clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95' height='0' width='0'><param name='FileName' value='../../../Audio_general/good.wav'><param name='autoplay' value='true'><object type='audio/mpeg' height='0' width='0' data='../../../Audio_general/good.wav'><param name='controller' value='true'><param name='autoplay' value='false'></object></object>";
}
</script>
我将图像链接到地图,以便将其分为 4 个部分。当我单击一个部分时,它将调用一个函数,该函数将根据我的选择执行逻辑,然后应该播放 2 个其他音频文件中的 1 个。此处的地图代码部分:
<map id="testing_image" name="pictureMap">
<area id="image1" shape="rect" coords="0, 0, 449, 331" onclick="evaluate_status(1);" onmouseover="this.style.cursor='pointer'" alt="FB">
</map>
我的问题是,onclick="evaluate_status()"
地图的某些部分只有在我更新 innerHTML 之前才能工作。意思是,如果我可以在 2.5 秒(第一次 innerHTML 更新)之前单击某个部分,它将播放正确的音频。但是,在它使用 innerHTML 更新 div 部分后,我的地图的所有点击都不起作用。我很困惑为什么会这样,因为只更改了一小部分。
谁能帮我弄清楚为什么 onclicks 不起作用以及如何解决它?我对网页设计还是很陌生,真的需要帮助。谢谢!