首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >简单的javascript不能工作-令人沮丧!

简单的javascript不能工作-令人沮丧!
EN

Stack Overflow用户
提问于 2011-04-11 19:51:12
回答 4查看 181关注 0票数 0

谁能帮我把这个简单的倒计时计时器启动,firebug正在抱怨: document.counter未定义

代码语言:javascript
复制
<script> 
<!-- 
// 
 var milisec=0 
 var seconds=30 
 document.counter.d2.value='30' 

function display(){ 
 if (milisec<=0){ 
    milisec=9 
    seconds-=1 
 } 
 if (seconds<=-1){ 
    milisec=0 
    seconds+=1 
 } 
 else 
    milisec-=1 
    document.counter.d2.value=seconds+"."+milisec 
    setTimeout("display()",100) 
} 
display() 
--> 
</script> 


<form name="counter"><input type="text" size="8" 
name="d2"></form> 
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-11 19:53:30

实际上,document.counter并不存在,因为您的脚本在HTML DOM加载之前被调用。

您需要将JS放在将被onload调用的函数中。

不是调用display(),而是把下面的代码放在脚本的底部:

代码语言:javascript
复制
window.onload = display;

此外,JS代码至少10年内都不需要<!-- -->注释了……

票数 4
EN

Stack Overflow用户

发布于 2011-04-11 19:53:53

将表单放在脚本之前...

票数 0
EN

Stack Overflow用户

发布于 2011-04-11 19:54:10

将脚本放在页面末尾,或者:

代码语言:javascript
复制
window.onload = function() {
   var milisec=0;
    var seconds=30 ;
    document.forms["counter"].elements["d2"].value='30';
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5620830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档