Javascript setTimeout:设置哔哔声之间的延迟

时间:2016-01-17 11:06:43

标签: javascript loops settimeout

我做错了以下代码没有设置执行哔声之间的延迟。它按预期循环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内部的迷雾可能会清除!!

0 个答案:

没有答案