我的软件出现问题,正在添加帮助声音按钮。
就像
当我点击它时
音频结束后,它变为
但是,如果要重播,则必须单击两次按钮。
为什么会这样以及如何更正它,以便我可以一键重播
HTML
<div id="dummy"></div>
<img src="images/soundoff.png" onClick="sound('helpsound.mp3')" id="snd" />
JAVASCRIPT
var clickNumber = 2,
timeoutId = null;
function sound(soundfile) {
imagesnd = document.getElementById('snd');
switch (clickNumber)
{
case 1:
imagesnd.src = "images/soundoff.png";
document.getElementById("dummy").innerHTML="";
if (timeoutId !== null)
{
clearTimeout(timeoutId);
timeoutId = null;
}
clickNumber = 2
return(false);
break;
case 2:
clickNumber = 1;
imagesnd.src = "images/sound.png";
document.getElementById("dummy").innerHTML="<embed src=\""+soundfile+"\" hidden=\"true\" autostart=\"true\" loop=\"false\"/>";
timeoutId = setTimeout(function(){
imagesnd.src = "images/soundoff.png";
clickNumber = 1;
},10000);
clickNumber = 1;
break;
}//switch end
}//function end
最佳答案
您的超时时间设置为10秒。尝试将console.log
放入您的超时处理程序中,以查看它是否真正被触发,并在再次单击图像之前将clickNumber
重设为1。
关于javascript - 开关的javascript问题,图像和声音的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19783247/