展开全部
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之类的延时函数都是等计算机空闲下来才会执行
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询