<!--
var maxtime = 60*60 //一个小时,按秒计算,自己调整!
function CountDown(){
if(maxtime>=0){
minutes = Math.floor(maxtime/60)
seconds = Math.floor(maxtime%60)
minutes = minutes>=10?minutes:'0'+minutes
seconds = seconds>=10?seconds:'0'+seconds
msg = "距离结束还有"+minutes+"分"+seconds+"秒"
document.all["timer"].innerHTML=msg
if(maxtime == 5*60) alert('注意,还有5分钟!')
--maxtime
}
else{
clearInterval(timer)
alert("时间到,结束!")
}
}
timer = setInterval("CountDown()",1000)
//-->
</SCRIPT>
<meta charset="utf-8">
<div id="timer" style="color:red"></div>
function countdown(when, callback){// 判断当前时间
var now = Date.now()
if(when < now){
throw '开始时间不能小于当前时间'
}
// 如果大于当前时间,则过了相差的时间后再执行此函数
else if(when > now){
setTimeout(function(){
countdown(when, callback)
}, when - now)
} else{
// 开始倒计时,这里的逻辑你没有描述
}
}
注意,js的定时并不是完全准确的。所有的setXXX之类的延时函数都是等计算机空闲下来才会执行
var t=60var a=setInterval(daojishi,1000)//1000毫秒
function daojishi(){
t--
//刷新时间显示
if(t==0){
clearInterval(a)
//倒计时结束
}
}