Javascript在点击时播放声音,第二个按钮点击停止第一个声音
Javascript play sound on click, second button click stop first sound
我有这段代码,按下按钮它会播放声音,我想要的是当你在第一次单击时播放一个声音时,如果你在它结束之前单击另一个按钮,它会停止第一个并播放下一个你点击
。任何想法都会很棒。
<!DOCTYPE html>
<head>
<title>Sounds</title>
</head>
<body>
<audio id="sound1" src="sounds/sound1.mp3"></audio>
<audio id="sound2" src="sounds/sound2.mp3"></audio>
<button onclick="document.getElementById('sound1').play()">Sound 1</button><br />
<button onclick="document.getElementById('sound2').play()">Sound 2</button><br />
</body>
</html>
提前谢谢。
尝试类似的事情:
<audio id="sound1" src="sounds/sound1.mp3"></audio>
<audio id="sound2" src="sounds/sound2.mp3"></audio>
<button onclick="playSound1()">Sound 1</button><br />
<button onclick="playSound2()">Sound 2</button><br />
<script type="text/javascript">
var audio1 = document.getElementById('sound1');
var audio2 = document.getElementById('sound2');
function playSound1(){
if (audio1.paused !== true){
audio1.pause();
audio2.play();
}
else{
audio2.play();
}
}
function playSound2(){
if (audio2.paused !== true){
audio2.pause();
audio1.play();
}
else{
audio1.play();
}
}
</script>
虽然我建议您在按钮标签上使用addEventListener方法而不是onclick属性,因为它更易于维护。
谢谢
将相应音频的 id 放入按钮上的数据目标属性中。加载时,获取按钮并分配一个单击处理程序重新加载当前音频,将当前音频元素设置为按钮的目标,然后播放当前音频
相关文章:
- Spring WebFlow2 Javascript只在第一个单选按钮上工作
- 两个提交按钮,但第一个返回空
- 单击按钮显示不同的文本,重复第一个文本
- Javascript尽管ID不同,但只有第一个按钮提交给Ajax表单
- 为什么在文本框内按回车键,单击第一个按钮并提交表单
- 只有第一个按钮在带有 Jquery 的 forEach 标签中有效
- jQuery当前选中的单选按钮值始终显示第一个按钮值
- 当有多个按钮的值相同时,如何点击第一个按钮
- 只有ID为的第一个按钮响应
- jquery只打开第一个按钮
- Javascript在第二个按钮单击而不是第一个按钮上工作
- 如何在单击第一个按钮时将第二个按钮传递给javascript函数
- javascript:windows.location在单击第一个按钮时不起作用
- 仅为第一个按钮添加处理程序
- 如何在点击第一个按钮后显示第二个按钮
- 对话框'动态内容只显示一次后,第一个按钮点击
- 第一个按钮可以工作,第二个不行
- 只选择第一个按钮
- 仅向列表中的第一个按钮添加功能
- 按钮在循环中,单击仅触发第一个按钮