1

ここの情報で行く:http://forums.blackmesasource.com/showthread.php?t = 13235

ナビゲーションリンクのホバーでオーディオファイルを再生しようとしています。リンク上を非常に速く移動するときにオーディオファイルを再生する場合の問題は、ファイル全体を再生してから再度再生することです。これにより、リンク間を高速で移動するときにオーディオが多少遅れます。

上記のリンクのその問題の解決策は、load()を追加することです。

これはこれまでの私のjQueryコードです:

<script type="text/javascript">
    $("nav ul li").hover(function(){
        nav_audio.play();
        },
    function(){
        nav_audio.load();
    });
</script>

私のHTML5コード:

<audio id="nav_audio">
    <source src="nav.mp3" type="audio/mpeg"></source>
    <source src="nav.ogg" type="audio/ogg"></source>
</audio>

ホバー時に音声が再生されず、ブラウザコンソール(Chrome)にエラーが表示されません。

私が間違っていること、またはなぜそれが機能していないのか、何か考えはありますか?jQueryファイルにリンクしましたが、オーディオタグはjQueryなしで他の場所で使用されているため、機能します。ここでの問題はjQueryにあると推測できます。

4

2 に答える 2

2

私はそれを考え出した。ドキュメントレディ機能が必要でした。そのため、スクリプトは次のようにわずかに変更されました。

<script type="text/javascript">
$(document).ready(function(){
    $("nav ul li").hover(function(){
        nav_audio.play();
        },
    function(){
        nav_audio.load();
    });
});
</script>
于 2013-02-22T01:51:56.553 に答える
1
    $(document).ready(function() {
     var audioElement = document.createElement('audio');
     audioElement.setAttribute('src', 'audio.mp3');
     audioElement.setAttribute('autoplay', 'autoplay');
     $.get();
     audioElement.addEventListener("load", function() {
     audioElement.play();
    }, true);




    $('.play').on('hover',function(event) {
       audioElement.play();
    }); 

    $('play)..unbind("mouseleave");

});

于 2013-02-21T19:58:45.627 に答える