我做错了以下代码没有设置执行哔声之间的延迟。它按预期循环3次并发出3次嘟嘟声,但都是同时发生的。
似乎我的间隔值3000没有被激活。
我可能做错了。我误解了什么?
var myBeep = new Audio('pins/beep1Sec.mp3');
var dbg = "";
function doBeeps(Start, NoOfTimes, Interval) {
console.log(Start);
bp = document.getElementById("beep"); // just for testing
myBeep.play();
console.log("Playing Beep");
dbg += " beep : " + Start;
bp.innerHTML = dbg;
Start++;
if( Start <= NoOfTimes ){
console.log ("Start=" + Start + " ~~~ NoOfTimes=" + NoOfTimes + " ~~~ Interval=" + Interval);
setTimeout( doBeeps(Start,NoOfTimes,Interval),Interval);
}
}
doBeeps(1,3, 3000);
我的错误
感谢您给我一个满意的答复。我的错误是没有在SetTimeout中调用自己的函数。这应该是它的样子
setTimeout( function () {doBeeps(Start,NoOfTimes,Interval)} ,Interval);
有一天,javascript内部的迷雾可能会清除!!