`
陈谏辉
  • 浏览: 48415 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

js 倒计时

阅读更多

倒计时一:

<script language="javascript" type="text/javascript">
var interval = 1000;
function ShowCountDown(year,month,day,hour1,minute1,divname)
{
var now = new Date();
var endDate = new Date(year, month-1, day,hour1,minute1);
var leftTime=endDate.getTime()-now.getTime();
var leftsecond = parseInt(leftTime/1000);
//var day1=parseInt(leftsecond/(24*60*60*6));
var day1=Math.floor(leftsecond/(60*60*24));
var hour=Math.floor((leftsecond-day1*24*60*60)/3600);
var minute=Math.floor((leftsecond-day1*24*60*60-hour*3600)/60);
var second=Math.floor(leftsecond-day1*24*60*60-hour*3600-minute*60);

var cc = document.getElementById(divname);
cc.innerHTML = "距离"+year+"年"+month+"月"+day+"日还有:"+day1+"天"+hour+"小时"+minute+"分"+second;
}
window.setInterval(function(){ShowCountDown(2010,1,12,15,0,'divdown1');}, interval);

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>倒计时</title>
</head>
<body><div id="divdown1"></div></body>
</html>
缺陷,js在客户端运行,var now = new Date();获取的是客户端时间,所以如果客户端时间不准确,将造成误差!

倒计时二:

<SCRIPT LANGUAGE="JavaScript">
<!--
var maxtime = 4*60*60 //一个小时,按秒计算,自己调整!
function CountDown(){
if(maxtime>=0){
var _H=Math.floor(maxtime/3600);
var _M=Math.floor((maxtime-_H*3600)/60);
var _S=(maxtime-_H*3600)%60;
document.getElementById("divdown1Id").innerHTML="剩余<strong>"+ _H +"</strong>小时<strong>"+ _M +"</strong>分<strong>"+ _S +"</strong>秒";
if(maxtime == 5*60) alert('注意,还有5分钟!');
--maxtime;
}
else{
clearInterval(timer);
document.getElementById("divdown1Id").innerHTML="时间到,结束!";
}
}
timer = window.setInterval("CountDown()",1000);
//-->
</SCRIPT>
<div id="divdown1Id" style="color:red" mce_style="color:red"></div>

该倒计时不依赖客户端js获取当前日期,相对倒计时比较精确,只要用ajax从服务器端获取倒计剩余时间,再respose到客户端进行倒计,将较好的解决了时间不精确问题。

以上代码直接copy到html内即可运行

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics