setTimeout和setInterval

时间:2015-03-04 11:57:53

标签: javascript settimeout setinterval

我想让这个计数器在页面上的5秒内开始工作,但是我无法将setTimeout与setInterval链接,你会知道我怎么可能?

enter image description here

2 个答案:

答案 0 :(得分:0)

尝试使用setTimeout函数包装您的间隔:

// interval variable 
var cycle = 10;
// variable for the interval since we are invoking it within a function, the callMeEverySecond function can't reach it
var t;
var callMeEverySecond = function() {
    cycle--;
    // Logs the Date to the console
    console.log(new Date());
    if(cycle === 0) {
        console.log("stop this");
        clearInterval(t);
        // do something further.
    }
}

// Start the timeout after 5 seconds
setTimeout(function() {
    // call the function 'callMeEverySecond' each second
    t = setInterval(callMeEverySecond, 1000);
}, 5000);

http://devdocs.io/dom/window.settimeout 还有一个小教程:http://javascript.info/tutorial/settimeout-setinterval

答案 1 :(得分:0)

这没关系

var tiempoInicial = 10;
function tiempo() {
    document.getElementById('contador').innerHTML='Puedes continuar en ' + tiempoInicial + ' segundos.';
    if(tiempoInicial==0) {
        clearInterval(t);
        document.getElementById("contador").innerHTML = "<p id=\"forumulario\" onclick=\"goToForm1()\">Continuar</p>";
    }
}
function iniciar() {
    var t = setInterval(tiempo,1000);
    clearTimeout(ini);
}
var ini = setTimeout(iniciar, 5000);

抱歉,我尝试了上面的代码并且没有用,所以我稍微改了一下。

这是新代码。

var tiempoInicial = 10;
function tiempo() {
    document.getElementById('contador').innerHTML='Puedes continuar en ' + tiempoInicial + ' segundos.';
    tiempoInicial--;
    if(tiempoInicial < -1) {
        clearInterval(t);
        document.getElementById("contador").innerHTML = "<p id=\"forumulario\" onclick=\'goToForm1()\'>Continuar</p>";
    }
}
function iniciar() {
    t = setInterval(tiempo,1000);
    clearTimeout(ini);
}
var ini = setTimeout(iniciar, 5000);