2017-05-31 81 views
0

我已經創建了一個按鈕,使用onmousedown事件點擊時循環音軌。我試圖在點擊同一個按鈕時結束音頻循環。我嘗試了一個onmouseup事件,但沒有運氣,有什麼想法? (我是新來的JavaScript)結束一個onmousedown事件(onmouseup?)

<script> var one = new Audio(); one.src = "files/audio/one.wav"; one.loop = true; </script> 

<img class="item" src="files/button.png" onmousedown="one.play()" onmouseup="one.stop()"/> 
+0

嘗試將'one.stop()'改爲'one.pause()',音頻沒有'.stop()'方法。 https://stackoverflow.com/questions/14834520/html5-audio-stop-function – yuriy636

+0

fyi'onmouseup'不是第二次點擊觸發,而是釋放當前點擊。 – NightKn8

回答

1

嘗試使用var,讓您的點擊跟蹤和僅監聽click事件:

JS

var one = new Audio(); 
one.src = "files/audio/one.wav"; 
one.loop = true; 
var isPlaying = false; 

function manage(){ 
    if(isPlaying){ 
    one.pause(); 
    one.currentTime = 0; 
    isPlaying = false; 
    } 
    else{ 
    one.play(); 
    isPlaying = true; 
    } 
} 

HTML

<img class="item" src="files/button.png" onclick="manage()"/> 
+0

很好,謝謝!現在我只是試圖找出如何使音頻文件重新點擊時重新啓動,而不是從以前的點。我試過'audio.currentTime = 0',但它似乎不工作,也許我使用不正確。 –

+1

你需要使用'one.currentTime = 0;'。我在我的答案中編輯了它。 – Zenoo

+0

這很有效,你真的很有幫助! –