功能:同页面多个倒计时器(用服务器时间)
作者:zjwtnt
时间:2015-8-24
strttime:开始时间,如:2015-10-01 10:01:01 需要前导零
obj:显示倒计时的按钮,如果是链接的话就需要自行修改下边源码
endtime:结束时间,如:2015-10-01 10:01:01 需要前导零
function timer(strtime,obj,endtime)
{
var reg = /^(\d+)\-(\d{1,2})\-(\d{1,2})\s+(\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = strtime.match(reg);
var r_curr = curr_time.match(reg);
if(r==null)return false;
r[2]=r[2]-1;
if(r_curr==null)return false;
r_curr[2]=r_curr[2]-1;
var ts = (new Date(r[1],r[2],r[3],r[4],r[5],r[6]) - (new Date(r_curr[1],r_curr[2],r_curr[3],r_curr[4],r_curr[5],r_curr[6])));//计算剩余的毫秒数
var dd = parseInt(ts / 1000 / 60 / 60 / 24, 10);//计算剩余的天数
var hh = parseInt(ts / 1000 / 60 / 60 % 24, 10);//计算剩余的小时数
var mm = parseInt(ts / 1000 / 60 % 60, 10);//计算剩余的分钟数
var ss = parseInt(ts / 1000 % 60, 10);//计算剩余的秒数
dd = dd<10?("0"+dd):dd;
hh = hh<10?("0"+hh):hh;
mm = mm<10?("0"+mm):mm;
ss = ss<10?("0"+ss):ss;
//距离结束
var r_end = endtime.match(reg);
r_end[2]=r_end[2]-1;
var end_ts = ( new Date(r_end[1],r_end[2],r_end[3],r_end[4],r_end[5],r_end[6]) - (new Date(r_curr[1],r_curr[2],r_curr[3],r_curr[4],r_curr[5],r_curr[6])) );
var end_dd = parseInt(end_ts / 1000 / 60 / 60 / 24, 10);
var end_hh = parseInt(end_ts / 1000 / 60 / 60 % 24, 10);
var end_mm = parseInt(end_ts / 1000 / 60 % 60, 10);
var end_ss = parseInt(end_ts / 1000 % 60, 10);
end_dd = end_dd<10?("0"+end_dd):end_dd;
end_hh = end_hh<10?("0"+end_hh):end_hh;
end_mm = end_mm<10?("0"+end_mm):end_mm;
end_ss = end_ss<10?("0"+end_ss):end_ss;
//alert(end_ss);
//未开始
if(ss>0 || mm>0){
//alert(dd + "天" + hh + "时" + mm + "分" + ss + "秒");
if(dd>0){
document.getElementById(obj).value = "距离活动开始还有"+dd + "天" + hh + "时" + mm + "分" + ss + "秒";
}
else if(dd==0 && hh>0){
document.getElementById(obj).value = "距离活动开始还有" + hh + "时" + mm + "分" + ss + "秒";
}
else if(dd==0 && hh==0 && mm>0){
document.getElementById(obj).value = "距离活动开始还有" + mm + "分" + ss + "秒";
}
else if(dd==0 && hh==0 && mm==0 && ss>0){
document.getElementById(obj).value = "距离活动开始还有" + ss + "秒";
}
else {
document.getElementById(obj).value = "进行中...";
}
}
//进行中
else if(end_ss>0 || end_mm>0){
document.getElementById(obj).style.background="#ff5252";
if(end_dd>0){
document.getElementById(obj).value = "距离活动结束还有"+end_dd + "天" + end_hh + "时" + end_mm + "分" + end_ss + "秒";
}
else if(end_dd==0 && end_hh>0){
document.getElementById(obj).value = "距离活动结束还有" + end_hh + "时" + end_mm + "分" + end_ss + "秒";
}
else if(end_dd==0 && end_hh==0 && end_mm>0){
document.getElementById(obj).value = "距离活动结束还有" + end_mm + "分" + end_ss + "秒";
}
else if(end_dd==0 && end_hh==0 && end_mm==0 && end_ss>0){
document.getElementById(obj).value = "距离活动结束还有" + end_ss + "秒";
}
else {
//document.getElementById(obj).value = "活动已结束...";
//document.getElementById(obj).style.border="#666666";
//document.getElementById(obj).style.background="#cccccc";
//#ff5252;
}
}
else {
document.getElementById(obj).value = "活动已结束...";
document.getElementById(obj).style.border="#666666";
document.getElementById(obj).style.background="#cccccc";
}
setTimeout("timer('"+strtime+"','"+obj+"','"+endtime+"')",1000);
}
/*
功能:同页面多个倒计时器
作者:zjwtnt
时间:2015-8-24
strttime:日期,如:2015-10-01 10:01:01 需要前导零
obj:显示倒计时的按钮,如果是链接的话就需要自行修改下边源码
*/
function timer(strtime,obj)
{
var reg = /^(\d+)\-(\d{1,2})\-(\d{1,2})\s+(\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = strtime.match(reg);
if(r==null)return false;
r[2]=r[2]-1;
var ts = (new Date(r[1],r[2],r[3],r[4],r[5],r[6]) - (new Date()));//计算剩余的毫秒数
var dd = parseInt(ts / 1000 / 60 / 60 / 24, 10);//计算剩余的天数
var hh = parseInt(ts / 1000 / 60 / 60 % 24, 10);//计算剩余的小时数
var mm = parseInt(ts / 1000 / 60 % 60, 10);//计算剩余的分钟数
var ss = parseInt(ts / 1000 % 60, 10);//计算剩余的秒数
dd = dd<10?("0"+dd):dd;
hh = hh<10?("0"+hh):hh;
mm = mm<10?("0"+mm):mm;
ss = ss<10?("0"+ss):ss;
//alert(dd + "天" + hh + "时" + mm + "分" + ss + "秒");
if(dd>0){
document.getElementById(obj).value = "距离活动开始还有"+dd + "天" + hh + "时" + mm + "分" + ss + "秒";
}
else if(dd==0 && hh>0){
document.getElementById(obj).value = "距离活动开始还有" + hh + "时" + mm + "分" + ss + "秒";
}
else if(dd==0 && hh==0 && mm>0){
document.getElementById(obj).value = "距离活动开始还有" + mm + "分" + ss + "秒";
}
else if(dd==0 && hh==0 && mm==0 && ss>0){
document.getElementById(obj).value = "距离活动开始还有" + ss + "秒";
}
else {
document.getElementById(obj).value = "进行中...";
}
setTimeout("timer('"+strtime+"','"+obj+"')",1000);
}