如何使用 setInterval 或 setTimeout 并在计数期间显示结果

How can I use setInterval or setTimeout and display the results during the count?

本文关键字:显示 结果 setInterval 何使用 setTimeout      更新时间:2023-09-26

我正在尝试在调用函数之前将计时器从 5 秒倒计时到零,我可以成功做到这一点,但我还没有能够在倒计时时显示计时器值。<div></div>不是显示值,而是从空格变为"数字:0"。 我使用了setTimeoutsetInterval,结果相同。

<script type="text/javascript">
    for (i = 5; i > 0; i--) {
        function countDown() {
            setInterval(function () {
                document.getElementById("displayDiv").innerHTML = "Number: " + i;
            }, 1000);
        }
    }
</script>

我还尝试在没有帮助的情况下使用.value代替.innerHTML

<input type="button" value="Count" onclick="countDown()" />
<div id="displayDiv" />

这似乎应该非常简单,但它让我难倒了。 任何帮助不胜感激

function countDown(i) {
    var int = setInterval(function () {
        document.getElementById("displayDiv").innerHTML = "Number: " + i;
        i-- || clearInterval(int);  //if i is 0, then stop the interval
    }, 1000);
}
countDown(5);

演示:http://jsfiddle.net/DerekL/sFtqZ/(包括额外的回调参数)

试试

<script type="text/javascript">
function countDown() {
var i = 5;
var myinterval = setInterval(function() {
    document.getElementById("displayDiv").innerHTML = "Number: " + i;
    if (i === 0) {
        clearInterval(myInterval);
        //call your function
    }
    else {
        i--;
       }
    }, 1000);
}​
</script>

http://jsfiddle.net/pjSKa/