0

マウスオーバーイベントでサウンドが必要です。私はこの方法を持っていますが、その問題はマウスオーバーとサウンド再生の間の遅延に起因します。js/jquery を使用するより良い方法があるかどうか知りたいです)。しかし、この特定のケースでは実装したくない新しい html5 オーディオ タグではありません。

ajax 呼び出しがファイルをロードし、次に、playSound() という名前の関数を mouseOver にアタッチしました。

function playSound()
{ 
  $setSound = document.getElementById("soundWrapper").innerHTML="<embed id='sound' src='href' type=audio/mpeg hidden=false autostart=true volume=12>";
}

次に、mouseOut イベントに stopSound() という名前の関数

function stopSound()
{
  $stopSound = document.getElementById("soundWrapper").innerHTML="";
}

派手なことは何もありませんが、うまくいきます。言ったように問題は、音を再生するのが遅れることです。毎回新しいサウンドを埋め込むだけでなく、既に埋め込まれているサウンドを再生/停止する方法はありますか?

お時間をいただきありがとうございます。ご挨拶。

4

1 に答える 1

1

AJAX でオーディオ タグ ( http://www.w3schools.com/tags/tag_audio.asp ) を目的の場所にロードする場合、JS で .play() メソッドを使用して再生できます。そしたらすごく楽になる

$(YOURMOUSEOVERELEMENT).on('mouseover', function(){$('#sound').play()});

次に、マウスが離れたときにオーディオを停止する場合:

$(YOURMOUSEOVERELEMENT).on('mouseout', function(){$('#sound').stop()});
于 2013-05-08T17:34:39.627 に答える