香宝的夫差
2017-08-02 10:17
window.onload=function(){ function smove(){ var now=new Date(); var end=new Date("2017,8,3"); var LeftTime=document.getElementById("LeftTime"); var time=end.getTime()-now.getTime(); var d=parseInt(time/(1000*60*60*24)); var h=parseInt(time/(1000*60*60))-(d*24); var m=parseInt(time/(1000*60))-(d*24*60)-(h*60) var s=parseInt(time/(1000))-(d*24*60*60)-(h*60*60)-(m*60); LeftTime.innerHTML=d+"天"+h+"小时"+m+"分钟"+s+"秒"; } setInterval(smove(),500); } 这样为何不能实时刷新,只能手动刷新才能看见时间在缩短。难道是setinterval() 获取不了smove()的元素?还是 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -分割线 window.onload=function(){ setInterval(function(){ var now=new Date(); var end=new Date("2017,8,3"); var LeftTime=document.getElementById("LeftTime"); var time=end.getTime()-now.getTime(); var d=parseInt(time/(1000*60*60*24)); var h=parseInt(time/(1000*60*60))-(d*24); var m=parseInt(time/(1000*60))-(d*24*60)-(h*60) var s=parseInt(time/(1000))-(d*24*60*60)-(h*60*60)-(m*60); LeftTime.innerHTML=d+"天"+h+"小时"+m+"分钟"+s+"秒"; },500); } 这样写确可以
如果将第一个代码只改动
setInterval(smove,500); //就能实现实时变动
//传入smove()
只会弹出一次,调用setInterval函数,传递给它的两个参数一个是smove()函数的返回值,一个是1000ms,因 此只会执行smove函数一次
//传入smove
调用setInterval函数,将函数smove和1000ms作为参数分别传递给它,每隔一段时间便执行smove 函数
倒计时效果
55613 学习 · 242 问题