<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等。
我该如何解决?
最佳答案
不应在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--;
}
var myVar = setInterval(apa, 1000); //just pass the apa reference to setInterval
var f = 5;
function apa() {
document.getElementById("haha").innerHTML = f;
f--;
}
<a id="haha">5</a>