swith的javascript问题,img&;声音
我的软件有一些问题,我正在添加帮助声音按钮 这就像 当我按它喜欢 当音频结束时,它会变为 但是如果我想重播它,我必须点击按钮两次。 为什么是这样,以及如何更正它,以便我只需单击一下即可重播它 HTMLswith的javascript问题,img&;声音,javascript,jquery,html,css,audio,Javascript,Jquery,Html,Css,Audio,我的软件有一些问题,我正在添加帮助声音按钮 这就像 当我按它喜欢 当音频结束时,它会变为 但是如果我想重播它,我必须点击按钮两次。 为什么是这样,以及如何更正它,以便我只需单击一下即可重播它 HTML JAVASCRIPT var clickNumber=2, timeoutId=null; 功能声音(声音文件){ imagesnd=document.getElementById('snd'); 开关(点击编号) { 案例1: imagesnd.src=“images/soundoff.pn
JAVASCRIPT
var clickNumber=2,
timeoutId=null;
功能声音(声音文件){
imagesnd=document.getElementById('snd');
开关(点击编号)
{
案例1:
imagesnd.src=“images/soundoff.png”;
document.getElementById(“dummy”).innerHTML=“”;
if(timeoutId!==null)
{
clearTimeout(timeoutId);
timeoutId=null;
}
单击数字=2
返回(假);
打破
案例2:
点击数字=1;
imagesnd.src=“images/sound.png”;
document.getElementById(“dummy”).innerHTML=“”;
timeoutId=setTimeout(函数(){
imagesnd.src=“images/soundoff.png”;
点击数字=1;
},10000);
点击数字=1;
打破
}//开关端
}//功能端
您的超时时间设置为10秒。尝试在超时处理程序中放置一个控制台。记录,查看它是否真的被触发,并在再次单击图像之前将clickNumber
重置为1。我得到了它,我只是更改了图像而不是案例,所以当我第一次单击它时,它会转到案例1(无声音),第二次单击案例2(声音)谢谢!,通过把console.log放进去,我得到了问题
<div id="dummy"></div>
<img src="images/soundoff.png" onClick="sound('helpsound.mp3')" id="snd" />
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