javascript - 如何点击播放多音频文件
问题描述
谁能告诉我点击时如何播放音频<div>
?
此代码同时播放所有音频。
let containerItem = document.querySelectorAll('.container__item');
let audio = document.querySelectorAll('.audio');
containerItem.forEach((a)=>a.addEventListener('click',playAudio));
function playAudio(){
audio.forEach((a)=>a.play());
}
<div class="container__item">
<audio class="audio" src="cry.mp3"></audio>
</div>
<div class="container__item">
<audio class="audio" src="dance.mp3"></audio>
</div>
解决方案
该playAudio()
功能适用.play()
于每个音频元素。
使用函数的this
关键字来选择被点击的元素并.audio
使用 querySelector 开始它的音频,只选择它的子元素(元素)。
function playAudio() {
this.querySelector('.audio').play();
}
推荐阅读
- zapier - Zapier:在一个触发器中从两个 API 端点提取数据
- amazon-web-services - 将 Cpanel 子域重定向到 AWS EC2 实例时出现 404 错误
- sql - Postgres在数据集增加时将查询从仅索引扫描更改为位图扫描
- vue.js - Vuejs - 选中/取消选中复选框时如何更改属性值并更新相同
- flutter - Flutter - 从 iOS 模拟器中检索代码
- javascript - 将嵌套的 if else 写入三元运算符
- html - 将 HTML 页面中的文本保存到变量中,以用作单独 jQuery 函数的输入
- reactjs - 当参数随旧状态更改时反应更新组件
- reactjs - 使用 AWS amplify DataStore 和 GraphQL 创建突变时出错:“变量‘输入’已强制非空类型‘ID!’的空值!”
- amazon-s3 - AWS Glue - getSink() 在glue_context.purge_s3_path 之后立即抛出“没有这样的文件或目录”