慕码人3910529
2015-10-07 11: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); } //setTimeout("startCount()",1000); startCount(); </head> <body> <form> <input type="text" id="count" /> </form> </body> </html>把这句setTimeout("startCount()",1000)这句自执行换成startCount();让自执行的startCount()进入不断加1的循环,为什么运行不出来效果?
把整个JS代码放在window.onload(function(){
放你的JS代码
})这样就可以等整个页面加载完毕后再执行JS代码,就可以避免因为解析先后而导致的捕捉不到的问题,如果代码是捕捉元素问题,那加进去就可以解决
代码改错了,你新增了两个语法错误。分别是</head>出现两次,<script>无闭合标签。另整个js代码需要在文档加载完毕之后执行,或者写成如下所示
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>计时器</title> </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); } //setTimeout("startCount()",1000); startCount(); </script> </body> </html>
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题