好的,所以我理解基本的javascript,我正在尝试制作一个音板类型的应用程序。我有页面上的按钮,但第二个按钮是拉动第一个按钮的音频文件。我尝试将按钮放在不同的段落,div和其他一些东西中,但是当不同的音频文件被链接时,两个按钮都播放完全相同的声音。请帮忙!
<!DOCTYPE HTML>
<html>
<head>
<title>Audio</title>
</head>
<body>
<script>
function play() {
var audio = document.getElementById("audio");
audio.play();
}
</script>
<input type="button" value="PLAY" onclick="play()">
<audio id="audio" src="audio/semipro.MP3" ></audio>
<input type="button" value="PLAY 2" onclick="play()">
<audio id="audio" src="audio/hit.MP3" ></audio>
</body>
</html>
答案 0 :(得分:3)
您不应该有两个具有相同ID的元素,它们应该始终是唯一的。
建议:
您的play
方法可以使用id
参数,该参数应与按钮应播放的id
标记中的参数audio
相同。
可能的解决方案:
<!DOCTYPE HTML>
<html>
<head>
<title>Audio</title>
</head>
<body>
<script>
function play(element){
var audio = document.getElementById(element);
audio.play();
}
</script>
<input type="button" value="PLAY" onclick="play('audio1')">
<audio id="audio1" src="audio/semipro.MP3" ></audio>
<input type="button" value="PLAY 2" onclick="play('audio2')">
<audio id="audio2" src="audio/hit.MP3" ></audio>
</body>
</html>
答案 1 :(得分:0)
不要使用重复的ID。您只需要一个音频元素就可以在点击功能中更改src属性。输入元素也应该只在表单中,而是使用按钮元素:
<!--HTML-->
<audio id="audio"></audio>
<button onclick="play('file1.mp3')">Play Sound 1</button>
<button onclick="play('file2.mp3')">Play Sound 2</button>
-
//JS
function play(sound){
var audio = document.getElementById("audio");
audio.setAttribute('src', sound);
audio.play();
}
答案 2 :(得分:0)
一个 ID 对于 HTML 页面中的每个元素都是唯一的。不要为两个不同的元素提供一个 ID。您可以拥有相同的类,但不能拥有相同的 ID。