JavaScript传送计时器倒计时
我的网站上有下面的JavaScript,它显示了下订单第二天交货的剩余时间JavaScript传送计时器倒计时,javascript,Javascript,我的网站上有下面的JavaScript,它显示了下订单第二天交货的剩余时间 if (document.getElementById('countdownTimer')) { pad = function(n, len) { // leading 0's var s = n.toString(); return (new Array((len - s.length + 1)).join('0')) + s; }; var timerRunn
if (document.getElementById('countdownTimer')) {
pad = function(n, len) { // leading 0's
var s = n.toString();
return (new Array((len - s.length + 1)).join('0')) + s;
};
var timerRunning = setInterval(
function countDown() {
var now = new Date();
if ((now.getDay() >= 1) && (now.getDay() <= 5)) { // Monday to Friday only
var target = 15; // 15:00hrs is the cut-off point
if (now.getHours() < target) { // don't do anything if we're past the cut-off point
var hrs = (target - 1) - now.getHours();
if (hrs < 0) hrs = 0;
var mins = 59 - now.getMinutes();
if (mins < 0) mins = 0;
var secs = 59 - now.getSeconds();
if (secs < 0) secs = 0;
var str = pad(hrs, 2) + ':' + pad(mins, 2) + '.<small>' + pad(secs, 2) + '</small>';
document.getElementById('countdownTimer').innerHTML = str;
}
}
}, 1000
);
}
if(document.getElementById('CountdowntTimer')){
pad=函数(n,len){//前导0
var s=n.toString();
返回(新数组((len-s.length+1)).join('0'))+s;
};
var timerRunning=设置间隔(
函数倒计时(){
var now=新日期();
如果((now.getDay()>=1)和&(now.getDay()),请尝试此操作
当超过目标时间时,我没有做任何事情,而是增加目标时间以指向不同的一天(主要区别是函数开头的if..else if语句)
函数倒计时(){
var now=新日期();
var target=15;//15:00hrs是截止点
如果(now.getDay()==0){//Sunday-使用明天的截止日期
目标+=24;
}如果(now.getDay()==6){//Saturday-则从现在起2天内使用截止日期
目标+=48;
}如果(now.getHours()
我把小提琴分叉:我已经将now.getDay()
移到变量中,现在它应该更可读了
工作日
包含周日0、周一1和周六6。
周六我们在截止时间的基础上增加了48小时,
周日我们只增加了24小时
if(document.getElementById('CountdowntTimer')){
pad=函数(n,len){//前导0
var s=n.toString();
返回(新数组((len-s.length+1)).join('0'))+s;
};
var timerRunning=设置间隔(
函数倒计时(){
var target=15;//15:00hrs是截止点
var now=新日期();
//为了方便起见,将其放入变量中
var weekday=now.getDay();
如果(工作日==0){//Sunday?加上24小时
目标+=24;
}
如果(工作日==6){//这是星期六?加上48小时
目标+=48;
}
//如果在周一到周五之间,
//检查我们是否超过了目标时间,
//如果我们是,中止。
如果((工作日>=1)和&(工作日目标){//停止时钟
返回0;
}
}
var hrs=(target-1)-now.getHours();
如果(小时<0)小时=0;
var mins=59-now.getMinutes();
如果(分钟<0)分钟=0;
var secs=59-now.getSeconds();
如果(秒<0)秒=0;
变量str=pad(小时,2)+':'+pad(分钟,2)+'。+pad(秒,2)+';
document.getElementById('CountdowntTimer')。innerHTML=str;
}, 1000
);
}
你能把它放在一个JSFIDLE中,这样我们就可以玩它了吗?@frenchie请解释一下发生了什么变化。如果不清楚它为什么能解决这个问题,只使用代码的答案通常是不受欢迎的。@Qix:很抱歉。更新了。这个方法很有效,但在任何时区都能正确吗?例如,在伦敦还有2小时巴黎的剩余时间是1小时。我需要显示剩余时间,无论在哪个国家观看
function countDown() {
var now = new Date();
var target = 15; // 15:00hrs is the cut-off point
if (now.getDay() == 0) { // Sunday - use tomorrow's cutoff
target += 24;
} else if (now.getDay() == 6) { // Saturday - use cutoff 2 days from now
target += 48;
} else if (now.getHours() < target) { // missed the cutoff point. Use tomorrow instead
target += 24;
if (now.getDay() == 5) { // Friday - use Monday cutoff
target += 48;
}
}
var hrs = (target - 1) - now.getHours();
if (hrs < 0)
hrs = 0;
var mins = 59 - now.getMinutes();
if (mins < 0)
mins = 0;
var secs = 59 - now.getSeconds();
if (secs < 0)
secs = 0;
var str = pad(hrs, 2) + ':' + pad(mins, 2) + '.<small>' + pad(secs, 2) + '</small>';
document.getElementById('countdownTimer').innerHTML = str;
}, 1000);
if (document.getElementById('countdownTimer')) {
pad = function(n, len) { // leading 0's
var s = n.toString();
return (new Array( (len - s.length + 1) ).join('0')) + s;
};
var timerRunning = setInterval(
function countDown() {
var target = 15; // 15:00hrs is the cut-off point
var now = new Date();
//Put this in a variable for convenience
var weekday = now.getDay();
if(weekday == 0){//Sunday? Add 24hrs
target += 24;
}
if(weekday == 6){//It's Saturday? Add 48hrs
target += 48;
}
//If between Monday and Friday,
//check if we're past the target hours,
//and if we are, abort.
if((weekday>=1) && (weekday<=5)){
if (now.getHours() > target) { //stop the clock
return 0;
}
}
var hrs = (target - 1) - now.getHours();
if (hrs < 0) hrs = 0;
var mins = 59 - now.getMinutes();
if (mins < 0) mins = 0;
var secs = 59 - now.getSeconds();
if (secs < 0) secs = 0;
var str = pad(hrs, 2) + ':' + pad(mins, 2) + '.<small>' + pad(secs, 2) + '</small>';
document.getElementById('countdownTimer').innerHTML = str;
}, 1000
);
}