-1

ソフトウェアに問題があり、ヘルプ サウンド ボタンを追加しています。

これは音を消す

クリックするとサウンドオン

オーディオが終了すると、サウンドオフ

しかし、再生したい場合は、ボタンを 2 回クリックする必要があります。その理由と、ワンクリックで再生できるように修正する方法

HTML

<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
4

2 に答える 2

0

ケースではなく画像を変更しただけなので、最初にクリックするとケース1(音なし)になり、2回目はケース2(音)になります

于 2013-11-06T13:43:31.350 に答える
0

タイムアウト期間は 10 秒に設定されています。タイムアウトハンドラconsole.logを内部に配置して、実際に起動されclickNumber、画像を再度クリックする前に back が 1 にリセットされているかどうかを確認してください。

于 2013-11-05T07:17:51.840 に答える