这个代码怎么改啊?javascript

来源:百度知道 编辑:UC知道 时间:2024/06/05 12:40:28
<span id="span_dt_dt"></span>
<SCRIPT language=javascript>

function show_student163_time(){

window.setTimeout("show_student163_time()", 1000);
BirthDay=new Date("12-12-2008 15:46");
today=new Date();
timeold=(BirthDay.getTime()-today.getTime());
sectimeold=timeold/1000
secondsold=Math.floor(sectimeold);
msPerDay=24*60*60*1000
e_daysold=timeold/msPerDay
daysold=Math.floor(e_daysold);
e_hrsold=(e_daysold-daysold)*24;
hrsold=Math.floor(e_hrsold);
e_minsold=(e_hrsold-hrsold)*60;
minsold=Math.floor((e_hrsold-hrsold)*60);
seconds=Math.floor((e_minsold-minsold)*60);

span_dt_dt.innerHTML=daysold+"天"+hrsold+"小时"+minsold+"分"+seconds+"秒" ;
}
show_student163_time();
</script>
现在这个代码可以运行,但网页左下角总是有叹号或是说网页中有错误,可能是变量未定义吧,应该怎样改才能把叹号或是网页中有错误那几个字去掉

我试了,在问题是在这一行:span_dt_dt.innerHTML=daysold+"天"+hrsold+"小时"+minsold+"分"+seconds+"秒" ;

由于你测试用没有写html,body这个标签,span这个标签只有在文档加载完后才能解析,你在开始就执行倒计时函数了,用了对span span_dt_dt的引用,span_dt_dt还不存在,当然会报错了.
你把html,body这些标签加上就没有问题了.

你这段代码还有两处问题,都是不被firefox支持.
1. BirthDay=new Date(2008, 12, 12, 15, 45)

2. span_dt_dt应该为document.getElementById("span_dt_dt")

如果是IE浏览器的话,代码应该没有问题(经测试)
如果左下脚状态栏出现错误提示,那你应该检查网页代码的其他部分

来晚了呵呵,楼上的朋友解析得很清楚了