請問為什么無法實現?
<!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,100);
? }
? startCount();
</script>
</head>
<body>
<form>
<input type="text" id="count" />
</form>
</body>
</html>
2016-08-01
這種寫法沒有問題,問題出在javascript的加載機制上,當你在調用document.getElementById('count').value=num;的時候,下面的input還沒加載,所以執行不了。
解決辦法就是將整體的script代碼塊下移到</form>下面。
下面是我改了之后的代碼:
<!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=1;
? ?function startCount() {
? ? ? ?document.getElementById('count').value=num++;
? ? ? ?setTimeout("startCount()",1000);
? ?}
? ?startCount();
</script>
</body>
</html>
2016-08-01
樓上回答的很好
2016-08-01
setTimeout("startCount()",100);,調用函數寫法不對,應該是startCount(),并且在settimeout引用的時候加“”