1

私はこのようなことを達成しようとしています.画像にカーソルを合わせると、サウンドが再生されます.サウンドを一度だけ再生したいのですが、最初のホバリングの後、その後のホバーはサウンドの再生をトリガーしません.現在このコードを試していますが、機能しません

$(document).ready(function(){

$("#bg")[0].play();

var pring = 0;

$(function(){
$('#apDiv5').hover(
 function(){$("#phone")[0].play();},
 function(){$("#phone")[0].stop();
 pring++;
 if (pring > 1) {function(){$("#phone")[0].stop();}
 }});


});

});
4

3 に答える 3

1

オーディオを再生した要素に特別なクラスをいつでも追加して、そのクラスが既に存在するかどうかをテストできます。

LIVE DEMO

$(function(){

   function playOnHover(el, audioFile){      
      $(el).addClass('played');
      var sound = new Audio( audioFile );   
      sound.play();      
   }

   $('#apDiv5').on('mouseenter', function(){
      if(!$(this).hasClass('played')) playOnHover( this, "sound.ogg" );
   });

});
于 2013-04-11T15:22:47.063 に答える
1

これを試して。http://jsfiddle.net/WAeQU/ jQuery を使用offする フィドルが機能しない場合でも、少なくとも問題は解決するはずです。

于 2013-04-11T14:25:12.900 に答える