2016-05-23 12 views
0

私が言ったように、私はそれを浮かべるときに音を表示するメニューを作成しました。私が使用しているコードは、メニューの別の項目をホバリングした後にサウンドを再生する前に短い一時停止で接続されています。どのようにして同時に演奏できますか?つまり、一時停止の効果を削除するにはどうすればいいですか?一時停止せずにメニューの各項目にホバー音を加える

$(document).ready(function() { 
 
    var beepOne = $("#beep-one")[0]; 
 
    $("#menu-glowne a") 
 
    .mouseenter(function() { 
 
     beepOne.pause(); 
 
     beepOne.play(); 
 
    }); 
 

 
});
<audio id="beep-one" controls="controls" preload="auto"> 
 
    <source src="http://localhost/wp-content/uploads/2016/04/Click2-Sebastian-759472264.mp3"></source> 
 
    <source src="http://localhost/wp-content/uploads/2016/04/Click2-Sebastian-759472264.wav"></source> 
 
</audio> 
 

 
<ul id="menu-glowne"> 
 
    <li><a href="#">One</a> 
 
    </li> 
 
    <li><a href="#">Two</a> 
 
    </li> 
 
    <li><a href="#">Three</a> 
 
    </li> 
 
</ul>

+0

'beepOne.pause();'を一時停止する行を削除しますか?それとも、ホバーごとに新しいサウンドなど、重複するサウンドが欲しいということですか? –

+2

"*私はそれを浮かべると音を表示するメニューを作成しました。" - このサイトがユーザーによってミュートされるか、URLが何であるか教えてください。 ...真剣に、これはあなたのサイト上で明らかにこのメニューをホバリングする前に発表されていない限り、これはUXの悪夢です。 –

+0

WebオーディオAPIがこのタイプのアクションに最適です。あなたは即座のオーディオ応答を可能にするオーディオコンテキストとバッファソースを作成する必要があります。ここをクリックしてください:https://developer.apple.com/library/iad/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/PlayingandSynthesizingSounds/PlayingandSynthesizingSounds.html – KpTheConstructor

答えて

0

のsetTimeout、または多分jQueryの.delay(持つポーズを交換)。 300msタイムアウトの例:

$(document).ready(function() { 
    var beepOne = $("#beep-one")[0]; 
    $("#menu-glowne a") 
    .mouseenter(function() { 
     setTimeout(function() { 
     beepOne.play(); 
     }, 300); 
    }); 
}); 

新しい音が前の音を打ち消すかどうかわかりません。

また、コメントされているように、予告なしに音を出すのは悪いユーザーエクスペリエンスです。デフォルトで無効にしておき、ユーザーに尋ねたり、チェックボックスなどで有効にしたりすることをお勧めします。

+0

------------- --- – Ziegremic1988

関連する問題