开关的javascript问题,img&的案例声音

时间:2013-11-05 06:43:03

标签: javascript jquery html css audio

我的软件出现问题我正在添加帮助声音按钮。

这就像sound off

当我点击它时,它就像sound on

当音频结束时,它会变为SOUND OFF

但如果我想重播它,我必须单击按钮两次。 为什么会如此以及如何纠正它以便我只需点击一下即可重播

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

2 个答案:

答案 0 :(得分:0)

您的超时持续时间设置为10秒。尝试在您的超时处理程序中放置console.log以查看它是否实际被触发,并在再次单击图像之前将clickNumber重置为1。

答案 1 :(得分:0)

我得到了它我只是更改了图像而不是这种情况所以当我第一次点击它进入案例1(nosound)和第二次点击案例2(声音)时