倒计时代码(服务器时间)

数据库修复中,部分文章可能暂时无法阅读。

刚刚看到一个调用服务器端时间的倒计时代码,觉得不错,例子是调用奥运开幕时间。

<!--
使用Server的时间
本程序必须放在web服务器上执行,本地执行无效!
-->
距北京奥运会开幕还剩 :<span id="TimeCounter"></span>
<SCRIPT LANGUAGE="JavaScript">
<!--
if (window.ActiveXObject){
  http_request=new ActiveXObject('Microsoft.XMLHTTP');
} else if (window.XMLHttpRequest) {
  http_request=new XMLHttpRequest();
}
http_request.open('HEAD', '.', false);//获取服务器时间,XHR不能跨域!!!
http_request.send(null);
var ServerDate = new Date(http_request.getResponseHeader('Date'));
var ClientDate= new Date();
var d=ClientDate-ServerDate;//计算S和C之间的时差,单位毫秒
/*定义终止时间*/
var year=2008;
var Mon=8;
var day=8;
var hour=8;
var minu=0;
var Second=0;
/*定义结束*/
var starttime = new Date(year,Mon-1,day,hour,minu,Second);
//月份是从0-11,所以要减1才能得到当前月份
function clock()
{
  var today = new Date();
  today.setTime(today.getTime()-d);//同步日期到服务器时间
  var leave=starttime-today;
  if(leave > 0)
  {
    var timeString="";
    var day = Math.floor(leave / (1000 * 60 * 60 * 24));
    leave-=day*(1000 * 60 * 60 * 24);
    if(day>0)timeString+= "" + day + "天"

    var hour = Math.floor(leave / (1000 * 60 * 60));
    leave-=hour*(1000 * 60 * 60);
    if(hour>0)
    {
      if(timeString!="")timeString+="";
      timeString+= "" + hour + "小时"
    }

    var minute = Math.floor(leave / (1000 * 60));
    leave-=minute*(1000 * 60);
    if(minute>0)
    {
      if(timeString!="")timeString+="";
      timeString+= "" + minute + "分"
    }

    var second = Math.floor(leave / 1000);
    if(timeString!="")timeString+="";
    timeString+= "" + second + "秒"
    document.getElementById("TimeCounter").innerHTML = timeString;
  }
  else
  {
   document.getElementById("TimeCounter").innerHTML= "Time's up!";
//window.location.reload();
  }
  setTimeout("clock()", 1000);
}
clock();
//-->
</SCRIPT>

关联文章导读:

  1. 使用CSS和Javascript控制网页图片宽度的大小

Related posts brought to you by Yet Another Related Posts Plugin.

我想说说 ……


:mrgreen: :| :twisted: :arrow: 8O :) :? 8) :evil: :D :idea: :oops: :P :roll: ;) :cry: :o :lol: :x :( :!: :?: