JavaScript倒计时无法解析整数

时间:2015-06-16 07:08:39

标签: javascript timer countdown

<html>
    <body>
        <a id="haha">5</a>
        <script type="text/javascript">
            var myVar = setInterval(function(){apa()}, 1000);
            var f = 5;

            function apa() {
                document.getElementById("haha").innerHTML = f;
                f--;
                apa();
            }       
        </script>
    </body>
</html>

我尝试使用计时器和减量进行倒计时,但输出不是整数(5,4,3,2,1 ......),而是像-336048之类的东西。 我该如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

不应在apa()内调用apa,它会创建无限递归。 setInterval()将以1秒的间隔呼叫apa,因此无需再次呼叫。

//also there is no need to use a anonymous function you can just say
//var myVar = setInterval(apa, 1000);
var myVar = setInterval(function () { 
    apa()
}, 1000);
var f = 5;

function apa() {
    document.getElementById("haha").innerHTML = f;
    f--;
}

&#13;
&#13;
var myVar = setInterval(apa, 1000); //just pass the apa reference to setInterval
var f = 5;

function apa() {
  document.getElementById("haha").innerHTML = f;
  f--;
}
&#13;
<a id="haha">5</a>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你可以试试这个。这将只计算(5 4 3 2 1)

var myVar=setInterval(function(){if(f>0) apa()},1000);
        var f=5;
         function apa() 
        {
            document.getElementById("haha").innerHTML = f;
            f--;
        }