javascript - 开关的javascript问题,图像和声音的情况

标签 javascript jquery html css audio

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

就像

当我点击它时

音频结束后,它变为

但是,如果要重播,则必须单击两次按钮。
为什么会这样以及如何更正它,以便我可以一键重播

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/

相关文章:

javascript - href =“tel:” # 数字中的符号未显示

javascript - Express 应用程序中未加载静态 Javascript 文件

jquery - 如何将网站缩小25%

javascript - 为什么我的 jQuery 只切换 HTML 中的第一个箭头?

javascript - 删除表 TR,同时维护 addClass

php - 点击 Google map 上的 HTML 表单

html - Windows Phone 7 下载纯 HTML 作为字符串?

javascript - 带 TinyMCE 文本区域的 Ace 编辑器

javascript - 如何从表的outerHTML 值创建列表对象?

html - 如果高度大于主体,则无法使固定 block 可见