2011-06-10 56 views
1

我需要創建jQuery拖放。當我放下物品時應該發出聲音,讓任何人知道該怎麼做?我知道我們可以用CSS和jQuery的HTML5音頻標籤來實現它,但我需要一個示例代碼來修改它。如何開發jQuery拖放音效?

$(函數(){$ ( 「#draggable」).draggable();

//需要聲音在我投擲的

$("#droppable").droppable({ 
     drop: function(event, ui) { 
      $(this) 
       .addClass("ui-state-highlight") 
       .find("p") 
        .html("Dropped!"); 
     } 
    }); 
}); 

//我的代碼

$("div#gameboard div").droppable({ 


     drop: function (event, ui) { 
      { 

       sendMessage("m " + this.id + " " + 
           localToGlobal(imgID) + " " + 
           $(ui.helper).css("left") + " " + 
           $(ui.helper).css("top") 

          ); 


      } 

      myAudio.src = 'audio/song.mp3'; 
     } 
    }); 

回答

3

我可能不完全正確,但這裏有一些東西可以幫助您:

var myAudio = document.createElement('audio'); 
myAudio.controls = true; 
myAudio.src = 'Your File'; 
myAudio.play(); 

爲了讓它在您放下時能夠正常工作,您可以在之前創建音頻標籤,並且只需點按play()即可。

我會初始化音頻標籤就緒功能:

$(document).ready(function() { 

} 

然後用戶代碼:

$("#droppable").droppable({ 
    drop: function(event, ui) { 
     $(this) 
      .addClass("ui-state-highlight") 
      .find("p") 
       .html("Dropped!"); 

     myAudio.play(); 
    } 
}); 

});

+0

我沒試過,但沒有奏效:這是我的代碼: – 2011-06-10 14:57:05

+0

你能給我更具體的 – 2011-06-10 15:03:26

+0

你可以給我拖項目爲例 – 2011-06-10 15:04:08

0

我不得不把代碼之外的$(文件)。就緒(函數()得到它在我的應用程序工作:

<script> 
var myAudio = document.createElement('audio'); 
myAudio.controls = true; 
myAudio.src = 'audio/beep.mp3'; 
myAudio.src = 'audio/beep.wav'; 
//myAudio.play(); 
</script> 

然後你只需觸發myAudio.play();內您的下降:功能代碼