有人可以请我帮这个简单的倒数计时器工作,firebug抱怨:document.counter未定义
<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>
答案 0 :(得分:4)
确实,document.counter
不存在,因为在加载HTML DOM之前调用了脚本。
您需要将JS放在一个将被调用onload
的函数中。
而不是调用display()
将其放在脚本的底部:
window.onload = display;
此外,JS代码至少10年内不需要<!--
-->
条评论......
答案 1 :(得分:0)
将表单放在脚本之前......
答案 2 :(得分:0)
要么在页面末尾有脚本,要么:
window.onload = function() {
var milisec=0;
var seconds=30 ;
document.forms["counter"].elements["d2"].value='30';
}
答案 3 :(得分:0)
您可能希望转移到JQuery以帮助解决跨浏览器问题 JQuery $(document).ready()