1

現在、onClickイベントのあるページにリンクされた画像があり、クリックすると音が鳴ります。

<div style="display:none;">
    <audio id="audio1" src="SOUND.wav" controls preload="auto" autobuffer></audio>
</div>

<script> function EvalSound(soundobj) 
    { var thissound=document.getElementById(soundobj); thissound.play(); } 
</script>

<a href="PAGE.php" onClick="EvalSound('audio1')"><img src="IMAGE.png"></a>

これはそのままでも問題なく動作しますが、ページの読み込みによって音が途切れます。「SOUND.wav」の長さが10秒だとすると、画像がクリックされたときにサウンドの再生中に10秒間休止し、ページが読み込まれるようにコードを編集するにはどうすればよいですか。

ありがとうまたはあなたの助け。

4

2 に答える 2

2

次のようにコードを変更できます。

<div style="display:none;">
    <audio id="audio1" src="SOUND.wav" controls preload="auto" autobuffer></audio>
</div>

<script> function EvalSound(soundobj) 
    { var thissound=document.getElementById(soundobj); thissound.play(); 
setTimeout( function() { window.location.href = 'PAGE.php'; }, 1000); } // change 1000 to whatever value you would want to wait in milliseconds.
</script>

<a href="#" onClick="EvalSound('audio1')"><img src="IMAGE.png"></a

>>

于 2012-12-19T20:52:58.027 に答える
1

私の前の答えと同じように、オーディオAPIを使用してサウンドの持続時間を決定し、それをタイムアウトとして設定することをお勧めします。

また、URLを変更するには、引数として追加できます。

function EvalSoundAndRedirect(soundobj, url) {
    var thissound = document.getElementById(soundobj);
    thissound.play();
    setTimeout(function() {
        window.location.href = url;
    }, thissound.duration);
} 

使用:

<a href="#" onClick="EvalSoundAndRedirect('audio1', 'PAGE.php')"><img src="IMAGE.png" /></a>
于 2012-12-19T21:04:07.180 に答える