倒计时这样写会飙高CPU怎么回事,哪里写错了
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title> New Document </title> <meta name="Generator" content="EditPlus"> <meta name="Author" content="DAYU"> <meta name="Keywords" content=""> <meta name="Description" content=""> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></scrip> </head> <body> <?php //3天后的时间 $d =strtotime('+1 days'); $threeday=date('Y-m-d H:i:s',$d); ?> <span id="id1" style="display:none;"><?=$threeday;?></span> <label id="showLeft">这里显示剩余时间</label> <script> var dt = $("#id1").text(); var strArr = dt.split(" "); var strDay = strArr[0].split("-"); var strTime = strArr[1].split(":"); //document.write(strDay[0]+strDay[1]+strDay[2]+strTime[0]+strTime[1]+strTime[2]); //这个函数是倒计时 function djs(){ minutes = 1000 * 60; hours = minutes * 60; days = hours * 24; //var years = days * 365; date1 = new Date(); date2 = new Date(Date.UTC(strDay[0], strDay[1]-1, strDay[2], strTime[0]-8, strTime[1], strTime[2])); minudt = date2 - date1; //var y = Math.floor(minudt/years); d = Math.floor(minudt/days); h = Math.floor((minudt - d * days)/hours); m = Math.floor((minudt - d * days - h * hours)/minutes); s = Math.floor((minudt - d * days - h * hours - m * minutes)/1000); document.getElementById("showLeft").innerHTML=d + "天" + h + "时" + m + "分" + s + "秒"; //document.all.showLeft.innerHTML=d + "天" + h + "时" + m + "分" + s + "秒"; setInterval("djs()",1000); } djs();//占CPU </script> </body> </html>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
非常感谢你啊
每天开心!
别忘了 替换一下你的php,我刚才测试用来的。
区分setTimeout和setInterval就好办了
回复
嗯好的谢谢
回复
$d =strtotime('+1 days'); $threeday=date('Y-m-d H:i:s',$d); <span id="id1" style="display:none;"><?=$threeday;?></span> $("#id1").text();取得是$threeday的值
回复
具体是什么?2013-5-31 14:21?
回复
2013-06-01 14:13:36
回复
我取得是1天后的时间
用这个就OK了。