日期:2014-05-16  浏览次数:20412 次

这段倒计时的代码为什么不行呢?求高人解答
JScript code

<html>

<head>
<script>
function setNDateDiff()
{
 var nowdate=new Date()
 var enddate=new Date("27 May 2012")
     datediff=enddate-nowdate
 var dayx=1000*60*60*24
 var hourx=1000*60*60
 var minx=1000*60
 var secx=1000
     day=Math.floor(datediff/dayx);
     hour=parseInt(datediff/hourx-day*24);
     min=parseInt(datediff/minx-day*24*60-hour*60);
     sec=parseInt(datediff/secx-day*24*60*60-hour*60*60-min*60);
     ndatediff="距离考试还有"+day+"天"+(hour<10?'0'+hour:hour)+"小时"+(min<10?'0'+min:min)+"分钟"+(sec<10?'0'+sec:sec)+"秒";
     document.write(ndatediff)
}
</script>
</head>

<body>
<script>
 setInterval("setNDateDiff()",1000)
</script>
</body>
</html>


这段代码中用document.write()方法为什么不行呢?谁给解释下。

------解决方案--------------------
你需要把 结果放到DOM元素里面,而不是每隔1秒打印document.write(ndatediff)到页面上。
------解决方案--------------------
在页面加载完成以后调用document.write()会新创建一个dom覆盖原来的页面,原来的页面代码也就不存在了还怎么运行。所以一般在页面加载完成后不会再调用document.write()方法