我试图在调用函数之前将计时器从5秒减少到零,我可以成功地做到这一点,但是我还没有能够在倒计时时显示计时器值. < div>< / div>而不是显示值.从空格到“数字:0”.我已经使用了setTimeout和setInterval两个相同的结果.
<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/(包括额外的回调参数)