我想让这个循环(一首歌)被执行,然后等待10分钟,然后再重复一遍。
for (i = 0; i < 3; i++) {
var audio = document.createElement("");
audio.src = "my_sound.mp3";
audio.play();
};
如果有人可以帮助我,那就太棒了。
答案 0 :(得分:1)
答案 1 :(得分:1)
尝试使用:
setInterval(function() {
for (i = 0; i < 3; i++) {
var audio = document.createElement("audio");
audio.src = "my_sound.mp3";
audio.play();
}
}, 600 * 1000);
答案 2 :(得分:0)
您可以使用 setTimeout()
或 setInterval()
,但您不能指望它正好是10分钟,因为该功能将排在事件循环,只有在达到超时时间并且JavaScript运行时空闲后才会触发。
function play () {
for (i = 0; i < 3; i++) {
var audio = document.createElement("audio");
audio.src = "my_sound.mp3";
audio.play();
};
}
setInterval(play, 600000);
//the function name. do not put () after it as you aren't executing it.
//600000 is the number of milliseconds in 10 minutes.
play(); //this will execute it immediately the first time if you want.
将回调函数作为其第一个参数,并将一个数字(以毫秒为单位)作为其第二个参数。在调用超时函数之前,将数字视为“等待的最短时间”。
setTimeout()
或者function go(){
// Clear the previous timer
timer = null;
for (i = 0; i < 3; i++) {
var audio = document.createElement("audio");
audio.src = "my_sound.mp3";
audio.play();
}
// Re-run the timer
timer = setTimeout(go, 600000);
}
var timer = setTimeout(go, 600000);
:
setInterval()
答案 3 :(得分:0)
您正在寻找使用setInterval()或setTimeout
http://www.w3schools.com/jsref/met_win_setinterval.asp
第一个,每X次执行一次,第二个执行X时间过后,要使用的一个取决于你的循环有多大,或者你想在某个时候退出它,因为你可以在之前的setTimeout中进行评估执行或使用另一个的clearInterval()。
答案 4 :(得分:0)
创建一个在超时后调用自身并调用一次的函数
function createAudioElement() {
for (i = 0; i < 3; i++) {
var audio = document.createElement("audio");
audio.src = "my_sound.mp3";
audio.play();
};
setTimeout(createAudioElement, 600000);
}
createAudioElement();
确保在document.createElement()
中指定要创建的元素 - 在本例中为audio
,否则会引发错误。