qq_万恶的数塔_0
2016-03-03 18:29
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
</head>
<script type="text/javascript">
var num=0;
function startCount() {
document.getElementById('count').value=num;
num=num+1;
setTimeout(startCount,1000);
}
startCount();//这样数字不会增加,如果把这行换成setTimeout(startCount,1000); 就可以了 ,为什么?
</script>
</head>
<body>
<form>
<input type="text" id="count" />
</form>
</body>
</html>
如果把
在函数startcount()后调用函数startcount()无效果的原因是script放在input前此时由于input还没加载所以函数停止调用,script放在input后即可生效
这样放到input后面:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
</head>
</head>
<body>
<form>
<input type="text" id="count" />
</form>
<script type="text/javascript">
var num=0;
function startCount() {
document.getElementById('count').value=num;
num=num+1;
setTimeout(startCount,1000);
}
startCount();//这样数字不会增加,如果把这行换成setTimeout(startCount,1000); 就可以了 ,为什么?
</script>
</body>
</html>
把script放在input后面就有用了,直接换成setTimeout其实并没有用到函数startCount
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题