You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何遍历audio元素节点列表,实现暂停时将currentTime重置为0?

解决Audio元素暂停时重置currentTime的问题

你这段代码无法实现暂停时重置播放进度的需求,核心有两个错误:

  • 对象引用错误:myAudio是通过getElementsByClassName获取的HTML元素集合,不是单个audio标签。你在回调里写的myAudio.currentTime = 0根本无法定位到触发暂停事件的那个音频元素,应该用event.target来指向当前触发事件的audio。
  • 语法不完整:addEventListener的调用缺少闭合括号),循环体建议加上大括号{},避免代码歧义。

修正后的代码如下:

const myAudio = document.getElementsByClassName("myAudio");
for (let i = 0; i < myAudio.length; i++) {
  myAudio[i].addEventListener("pause", (event) => {
    event.target.currentTime = 0;
  });
}

修改后,任意一个audio元素暂停时,都会自动将自身的播放进度重置为0,不管是点击自带控件的暂停按钮,还是通过其他方式触发暂停事件,逻辑都能正常生效。

内容的提问来源于stack exchange,提问作者BarbE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 22:29:56