garnett555
2016-04-23 19:01
<!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); } //setTimeout("startCount()",1000) ; startCount(); </script> </head> <body> <form> <input type="text" id="count" /> </form> </body> </html>
如题,代码如上。
Javascript代码是顺序执行的,而你在调用startCount的时候还没有加载完,找不到对象ID'count',所以肯定出不来结果。而setTimeout("startCount()",1000) ;因为有延迟,当它调用startCount时,此时代码已经加载完,所以工作起来没什么问题
楼上讲的对哦,楼主你可以把script放在body最下面试试,按这样的写法就正确啦
我也是这样写的 但是一开始执行不起 后来又能执行了 是什么鬼。。不懂
因为你的startCount这个函数没有被调用啊····
你这样写是不能调用函数的,全局函数才可以这样调用,要有输入值返回值,
这种函数的调用要用window.onload函数,
你把你的15行改为window.onload=startCount;
感觉好像是因为startCount这个函数调用问题。。。
你的第十行写反了吧!num是什么?把它赋值ID为“count”有什么意义?
JavaScript进阶篇
468190 学习 · 21891 问题
相似问题