当前位置: 代码迷 >> JavaScript >> 改为一个十天的倒计时
  详细解决方案

改为一个十天的倒计时

热度:32   发布时间:2012-08-14 10:39:58.0
改成一个十天的倒计时
求JS大牛把下面的改成一个十天的倒计时,十天之后,这个DIV就消失



<!DOCTYPE HTML>
<html>
 <head>
  <title> New Document </title>
  <meta charset="gb2312">
  <style>
#xs{margin:20px 0 0 0;color:#000;width:400px;margin:0 auto;font-weight:bolder;letter-spacing:5px}
#xs b{color:red;}
  </style>
 </head>
 <body onload="nowTime()">
  <script>
  function nowTime(){
  var td=new Date()
  var h=23-td.getHours()
  if (h<10)h="0"+h;
  var m=59-td.getMinutes()
  if (m<10)m="0"+m;
  var s=60-td.getSeconds()
  if (s<10)
  {s="0"+s
  }else if (s==60)
  {
s="00"
  }
  document.getElementById('xs').innerHTML="<b>距明天还有:</b>"+h+"<b>小时</b>"+m+"<b>分</b>"+s+"<b>秒</b>"
  t=setTimeout('nowTime()',50)
  }
  </script>
  <div id='xs' >
  </div>
 </body>
</html>


------解决方案--------------------
用下面这个试试
设置定时var target = new Date(2012, 06, 9, 00, 00, 00).getTime();06表示7月 
<html> 
<head> 
<title>Javascript写的倒计时效果代码</title> 
</head> 
<body> 
<script language="javascript" type="text/javascript"> 
var target = new Date(2012, 06, 9, 00, 00, 00).getTime(); 
function show_date_time(){ 
setTimeout("show_date_time()", 1000); 
today=new Date();
timeold = target - 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);
if (daysold < 0) {
document.body.removeChild(document.getElementById("TimeCounter_0"));
return null;
}
else { 
if (daysold<10) {daysold="0"+daysold} 
if (hrsold<10) {hrsold="0"+hrsold} 
if (minsold<10) {minsold="0"+minsold} 
if (seconds<10) {seconds="0"+seconds} 
if (daysold<3) {
document.getElementById("TimeCounter_0").innerHTML = "<font color=red>" + daysold + "天" + hrsold + "小时" + minsold + "分" + seconds + "秒</font>"; 
}
else {
document.getElementById("TimeCounter_0").innerHTML = daysold + "天" + hrsold + "小时" + minsold + "分" + seconds + "秒"; 



window.onload=show_date_time;
</script> 
距10天后还有: 
<div id="TimeCounter_0" style="border:1px solid black;margin:5px;padding:2px;width:140px"></div> 
</body> 
</html>
------解决方案--------------------
倒计时总是需要一个参考时间的,要么是开始时间、要么是结束时间。
HTML code
<!DOCTYPE HTML>
<html>
<head>
<title>New Document</title>
<meta charset="utf-8">
<style>
#xs {
    margin:20px 0 0 0;
    color:#000;
    width:400px;
    margin:0 auto;
    font-weight:bolder;
    letter-spacing:5px
}
#xs b {
    color:red;
}
</style>
<script type="text/javascript">
var sEXP = '2012-07-09 23:59:59'; //设置到期时间
var oEXP = new Date(sEXP); //到期时间转换为Date对象
var t;
function countdown(oEXP) {
    var now = new Date();
    var xs = document.getElementById('xs');
    if (now > oEXP) {
        xs.parentNode.removeChild(xs); //到期移除div元素
        window.clearInterval(t);
    }
    else {
        var oTimeDiff = {};
        var iTimeDiff = Math.round((oEXP.getTime() - now.getTime()) / 1000);
        oTimeDiff.h = Math.floor(iTimeDiff / 3600), iTimeDiff -= oTimeDiff.h * 3600;
        oTimeDiff.m = Math.floor(iTimeDiff / 60);
        oTimeDiff.s = iTimeDiff - oTimeDiff.m * 60;
        xs.innerHTML = '<b>距离' + sEXP + '还有:' + oTimeDiff.h + '小时' + oTimeDiff.m + '分' + oTimeDiff.s + '秒</b>';
    }
}
window.onload = function() {
    t = window.setInterval('countdown(oEXP)', 1000);
}
</script>
</head>
<body>
<div id='xs'></div>
</body>
</html> 
  相关解决方案