纯JS的基于静态站点服务器时间 [无依赖] 的倒计时程序(Ajax应用)
2009-06-22 14:19
651 查看
Code
<style>
table{
border-collapse:collapse; border:2px solid outset;
background:#F0EFE2;
padding:10px;
font-size:14px;font-family:Arial;
}
img{vertical-align:middle;margin:0px;}
#ad{ background:#016CA4;}
th{
background:#35528E url() repeat-y 100% 0;
color:#fff;padding:10px;
margin:1px;
}
#web,#locale{
border:2px solid inset;background:#000;
color: #00FFFF;font-weight:bold;
}
#diff{color:red}
</style>
<body>
<table border=0 cellspacing="3" cellpadding="5" align=center>
<th colspan='4' align="left"><div> <span style="color:#FFCC33">◆ </span>爱无忧,爱果果,爱JavaScript</div></caption>
<tr><td colspan='4' id="ad" align=right><img src="http://img.alimama.cn/a/2008-10-26/109733430002081026005231.gif" align=right></td></tr>
<tr><td rowspan='4' style="width:10px;overflow:hidden;backgound:url()">
<img src="http://bbs.51js.com/images/avatars/16.gif" border=0 align=right></td>
<td><img src="http://bbs.51js.com/images/smilies/time.gif" /> 无忧服务器的时间:</td><td id='web'><div>loading
</div></td></tr>
<tr><td><img src="http://bbs.51js.com/images/smilies/time.gif" /> 大哥您本地的时间:</td><td id="locale">loading
</td></tr>
<tr><td>离2010年还有</td><td id="ooxx"> </td></tr>
<tr><td>伪标准时差</td><td id="diff"> </td></tr>
</table>
</body>
<script type="text/javascript">
$=function (id){return document.getElementById(id)}
if(document.all){
window.XMLHttpRequest=function(){
var $=['Microsoft.XMLHTTP','Msxml2.XMLHTTP'];
for(var i=0;i<$.length;i++){try{return new ActiveXObject($[i])}catch(e){}};
};
}
webDate=function(fn){
var QQ=new XMLHttpRequest();
QQ.onreadystatechange=function(){QQ.readyState==4&&(fn(new Date(QQ.getResponseHeader('Date'))))};
QQ.open('HEAD', '/?_='+(-new Date));
QQ.send(null);
}
window.time=new Date();
targetTime=new Date('2010/1/1');
time2String=function (t){
with(t)return [getFullYear(),'年'
,('0'+(getMonth()+1)).slice(-2),'月'
,('0'+getDate()).slice(-2),'日 '
,('0'+getHours()).slice(-2),': '
,('0'+getMinutes()).slice(-2),': '
,('0'+getSeconds()).slice(-2)].join('')
}
int2time=function (m){
m-=(D=parseInt(m/86400000))*86400000;
m-=(H=parseInt(m/3600000))*3600000;
S=parseInt((m-=(M=parseInt(m/60000))*60000)/1000);
return D+'天'+H+'小时'+M+'分'+S+'秒'
}
setInterval(function (){
webDate(function (webTime){
$('web').innerHTML=time2String(time=webTime);
})
$('locale').innerHTML=time2String(new Date);
$('diff').innerHTML=Math.abs(new Date()-time-1000)+'毫秒'
$('ooxx').innerHTML=int2time(targetTime-time);
},1000)
</script>
</html>
<style>
table{
border-collapse:collapse; border:2px solid outset;
background:#F0EFE2;
padding:10px;
font-size:14px;font-family:Arial;
}
img{vertical-align:middle;margin:0px;}
#ad{ background:#016CA4;}
th{
background:#35528E url() repeat-y 100% 0;
color:#fff;padding:10px;
margin:1px;
}
#web,#locale{
border:2px solid inset;background:#000;
color: #00FFFF;font-weight:bold;
}
#diff{color:red}
</style>
<body>
<table border=0 cellspacing="3" cellpadding="5" align=center>
<th colspan='4' align="left"><div> <span style="color:#FFCC33">◆ </span>爱无忧,爱果果,爱JavaScript</div></caption>
<tr><td colspan='4' id="ad" align=right><img src="http://img.alimama.cn/a/2008-10-26/109733430002081026005231.gif" align=right></td></tr>
<tr><td rowspan='4' style="width:10px;overflow:hidden;backgound:url()">
<img src="http://bbs.51js.com/images/avatars/16.gif" border=0 align=right></td>
<td><img src="http://bbs.51js.com/images/smilies/time.gif" /> 无忧服务器的时间:</td><td id='web'><div>loading
</div></td></tr>
<tr><td><img src="http://bbs.51js.com/images/smilies/time.gif" /> 大哥您本地的时间:</td><td id="locale">loading
</td></tr>
<tr><td>离2010年还有</td><td id="ooxx"> </td></tr>
<tr><td>伪标准时差</td><td id="diff"> </td></tr>
</table>
</body>
<script type="text/javascript">
$=function (id){return document.getElementById(id)}
if(document.all){
window.XMLHttpRequest=function(){
var $=['Microsoft.XMLHTTP','Msxml2.XMLHTTP'];
for(var i=0;i<$.length;i++){try{return new ActiveXObject($[i])}catch(e){}};
};
}
webDate=function(fn){
var QQ=new XMLHttpRequest();
QQ.onreadystatechange=function(){QQ.readyState==4&&(fn(new Date(QQ.getResponseHeader('Date'))))};
QQ.open('HEAD', '/?_='+(-new Date));
QQ.send(null);
}
window.time=new Date();
targetTime=new Date('2010/1/1');
time2String=function (t){
with(t)return [getFullYear(),'年'
,('0'+(getMonth()+1)).slice(-2),'月'
,('0'+getDate()).slice(-2),'日 '
,('0'+getHours()).slice(-2),': '
,('0'+getMinutes()).slice(-2),': '
,('0'+getSeconds()).slice(-2)].join('')
}
int2time=function (m){
m-=(D=parseInt(m/86400000))*86400000;
m-=(H=parseInt(m/3600000))*3600000;
S=parseInt((m-=(M=parseInt(m/60000))*60000)/1000);
return D+'天'+H+'小时'+M+'分'+S+'秒'
}
setInterval(function (){
webDate(function (webTime){
$('web').innerHTML=time2String(time=webTime);
})
$('locale').innerHTML=time2String(new Date);
$('diff').innerHTML=Math.abs(new Date()-time-1000)+'毫秒'
$('ooxx').innerHTML=int2time(targetTime-time);
},1000)
</script>
</html>
相关文章推荐
- js基于服务器时间的倒计时功能
- 不依赖客户端时间的倒计时js程序
- js基于服务器时间的倒计时功能
- 基于服务器时间的倒计时功能js
- 不依赖客户端时间的倒计时js程序
- JS倒计时程序获取准确服务器时间的几种方式
- 基于Redis的ASP.NET与js(AJAX)的聊天程序[js长连接][伪推送]
- JS实现Ajax---例:获取服务器时间
- 移动端纯原生JS不依赖AJAX后台服务器实现省市县三级联动
- 在服务器上 .netFramework2.0 环境下,如何能在不改变服务器设置下,让站点能够运行 AJAX 程序
- 基于JS实现的倒计时程序实例
- 前台使用ajax上传图片,后台 node.js 使用 formidable 进行图片接受并存于服务器静态文件夹中
- 移动端纯原生JS不依赖ajax后台服务器实现省市县三级联动
- 基于数据库的站点导航提供程序,适合一般应用系统的管理后台的快速配置
- 十二、初学.NET—利用AJAX在页面头部显示服务器当前时间,并实现倒计时功能
- JS服务器获取时间倒计时
- 在html页面上使用ajax传递json数据到基于express框架(node.js)的服务器
- [分享黑科技]纯js突破localstorage存储上线,远程抓取图片,并转码base64保存本地,最终实现整个网站所有静态资源离线到用户手机效果却不依赖浏览器的缓存机制,单页应用最新黑科技
- js对象应用之团购时间倒计时
- 通过原生js的ajax或jquery的ajax获取服务器的时间