【问题标题】:Ending an onmousedown event (onmouseup?)结束一个 onmousedown 事件(onmouseup?)
【发布时间】:2017-05-31 23:07:57
【问题描述】:

我使用 onmousedown 事件创建了一个按钮,该按钮在单击时会循环播放音轨。单击同一按钮时,我正在尝试结束音频循环。我尝试了一个 onmouseup 事件,但没有运气,有什么想法吗? (我是 JavaScript 新手)

<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()"/>

【问题讨论】:

标签: javascript loops audio onmousedown onmouseup


【解决方案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()"/>

【讨论】:

  • 效果很好,谢谢!现在我只是想弄清楚如何在再次单击时重新启动音频文件,而不是从前一点开始。我试过audio.currentTime = 0,但它似乎不起作用,可能是我使用不正确。
  • 您需要使用one.currentTime = 0;。我在答案中对其进行了编辑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-03
  • 1970-01-01
  • 1970-01-01
  • 2013-01-16
  • 2018-08-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多