javascript为什么我写的函数没有隔一秒执行一次...效果是时间显示但不会隔一秒变化
window.onload=functionti(){vardt=newDate('9/6/201200:00:00')varnow=newDate()varms=dt....
window.onload=function ti(){
var dt=new Date('9/6/2012 00:00:00')
var now=new Date()
var ms=dt.getTime()-now.getTime()
var show='距世界末日还有'
var d=parseInt(ms/(1000*60*60*24))+'天'+'<br/>'
var h=parseInt(ms/(1000*60*60))+'小时'+'<br/>'
var m=parseInt(ms/(1000*60))+'分钟'+'<br/>'
var s=parseInt(ms/(1000))+'秒'+'<br/>'
var ms=parseInt(ms)+'秒'+'<br/>'
document.write(show+d)
document.write(show+h)
document.write(show+m)
document.write(show+s)
document.write(show+ms)
}
setInterval('ti()',1000)
为什么我写的函数没有隔一秒执行一次...效果是时间显示但不会隔一秒变化 展开
var dt=new Date('9/6/2012 00:00:00')
var now=new Date()
var ms=dt.getTime()-now.getTime()
var show='距世界末日还有'
var d=parseInt(ms/(1000*60*60*24))+'天'+'<br/>'
var h=parseInt(ms/(1000*60*60))+'小时'+'<br/>'
var m=parseInt(ms/(1000*60))+'分钟'+'<br/>'
var s=parseInt(ms/(1000))+'秒'+'<br/>'
var ms=parseInt(ms)+'秒'+'<br/>'
document.write(show+d)
document.write(show+h)
document.write(show+m)
document.write(show+s)
document.write(show+ms)
}
setInterval('ti()',1000)
为什么我写的函数没有隔一秒执行一次...效果是时间显示但不会隔一秒变化 展开
3个回答
展开全部
<body>
<div id="aa"></div>
<script language="javascript">
function ti(){
var dt=new Date('9/6/2012 00:00:00')
var now=new Date()
var ms=dt.getTime()-now.getTime()
var show='距世界末日还有'
var d=parseInt(ms/(1000*60*60*24))+'天'+'<br/>'
var h=parseInt(ms/(1000*60*60))+'小时'+'<br/>'
var m=parseInt(ms/(1000*60))+'分钟'+'<br/>'
var s=parseInt(ms/(1000))+'秒'+'<br/>'
var ms=parseInt(ms)+'秒'+'<br/>'
var str = '';
str = show+d;
str += show+h;
str += show+m;
str += show+s;
str += show+ms;
document.getElementById('aa').innerHTML=str;
}
window.onload=setInterval('ti()',1000);
</script>
</body>
用document.write不行的
<div id="aa"></div>
<script language="javascript">
function ti(){
var dt=new Date('9/6/2012 00:00:00')
var now=new Date()
var ms=dt.getTime()-now.getTime()
var show='距世界末日还有'
var d=parseInt(ms/(1000*60*60*24))+'天'+'<br/>'
var h=parseInt(ms/(1000*60*60))+'小时'+'<br/>'
var m=parseInt(ms/(1000*60))+'分钟'+'<br/>'
var s=parseInt(ms/(1000))+'秒'+'<br/>'
var ms=parseInt(ms)+'秒'+'<br/>'
var str = '';
str = show+d;
str += show+h;
str += show+m;
str += show+s;
str += show+ms;
document.getElementById('aa').innerHTML=str;
}
window.onload=setInterval('ti()',1000);
</script>
</body>
用document.write不行的
展开全部
测试一下dt 的输出值,是不是就可以看出原因了。将 var dt=new Date('9/6/2012 00:00:00')
放在函数的前面试试。 句子 var dt=new Date('9/6/2012 00:00:00') 执行一次就行了,不必调用函数时都执行它。
放在函数的前面试试。 句子 var dt=new Date('9/6/2012 00:00:00') 执行一次就行了,不必调用函数时都执行它。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
setInterval 是定时执行吧。 是不是应该放在大括号内呢。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询