在javascript数组中播放音频文件时出现问题
我正在尝试创建一个按钮,单击该按钮时播放音频文件,然后再次单击该按钮时播放阵列中的下一个文件。我让它播放,但当我第二次单击它时,它会播放第一个文件和第二个文件。当我第三次按它时,它会播放第一、第二和第三个。似乎我需要重置一些东西来清除页面的前两个磁道。以下是我所拥有的:在javascript数组中播放音频文件时出现问题,javascript,Javascript,我正在尝试创建一个按钮,单击该按钮时播放音频文件,然后再次单击该按钮时播放阵列中的下一个文件。我让它播放,但当我第二次单击它时,它会播放第一个文件和第二个文件。当我第三次按它时,它会播放第一、第二和第三个。似乎我需要重置一些东西来清除页面的前两个磁道。以下是我所拥有的: <!DOCTYPE HTML> <html> <head> </head> <body> <script lan
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<script language="javascript" type="text/javascript">
audio = new Array('audio1.mp3','audio2.mp3','audio3.mp3');
index = 0;
function playSound() {
if(index<3){
document.getElementById("start").innerHTML=document.getElementById("start").innerHTML +
"<embed src=\""+audio[index]+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" />";
index++;
}
else{ index = 0;
document.getElementById("start").innerHTML=document.getElementById("start").innerHTML +
"<embed src=\""+audio[index]+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" />";
index++;
}
}
</script>
<button id="start" type = "button" onclick="playSound();">Start</button>
</body>
</html>
音频=新阵列('audio1.mp3'、'audio2.mp3'、'audio3.mp3');
指数=0;
函数playSound(){
如果(index您不断地添加越来越多的
元素,则从不删除任何元素
不要将它们附加到按钮,而是将它们附加到容器中,然后在添加另一个容器之前将其删除。function playSound(){
function playSound() {
if(index>=3){
index = 0;
}
document.getElementById("sound").innerHTML=
"<embed src=\""+audio[index]+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" />";
index++;
}
如果(索引>=3){
指数=0;
}
document.getElementById(“声音”).innerHTML=
"";
索引++;
}
并且添加一个div(你也可以通过css将其隐藏),我认为这是一个比将html添加到按钮更好的方法
<button id="start" type = "button" onclick="playSound();">Start</button>
<div id="sound" style="display:none"></div>
开始
我如何接受答案,对不起,我还在学习!我尝试了你的答案,它解决了同时播放多个文件的问题,但是按钮本身丢失了文本,大小变了一半。我感谢你的回答,谢谢!啊,那是因为你将隐藏的嵌入元素添加到按钮中。我将编辑我的答案以修复此问题t、 你可以通过按下我答案左边的V键来接受我的答案。好的,我现在接受了,谢谢你提供的信息。我创建了一个div,并将其添加到其中。它没有改变按钮,只是轻轻推了一下。我想我只需要找到一种更好的方法来隐藏div。不过肯定有更好的方法。我会继续尝试的!再次感谢n!如果我添加“display:none”的话,它根本就不起作用。对不起,style=“visibility:hidden”
会做得更好。我试过了,但弄得一团糟。你可能已经猜到了,我仍然是javascript的初学者。我如何删除嵌入的元素?我发现了这个:element=document.getElementById(“元素id”);但似乎不起作用。我认为您必须向嵌入的元素添加id,但我认为这可能是错误的。我有很多东西要学习,我知道哈哈。感谢您的帮助。element.parentNode.removeChild(element);