同頁面多記錄JS倒計時器

2021-07-04 19:28:00 字數 3275 閱讀 6535

功能:同頁面多個倒計時器(用伺服器時間)

strttime:開始時間,如:2015-10-01 10:01:01 需要前導零

obj:顯示倒計時的按鈕,如果是鏈結的話就需要自行修改下邊原始碼

endtime:結束時間,如:2015-10-01 10:01:01 需要前導零

function timer(strtime,obj,endtime)  

)\-(\d)\s+(\d):(\d):(\d)$/;

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)

else if(dd==0 && hh>0)

else if(dd==0 && hh==0 && mm>0)

else if(dd==0 && hh==0 && mm==0 && ss>0)

else

} //進行中

else if(end_ss>0 || end_mm>0)

else if(end_dd==0 && end_hh>0)

else if(end_dd==0 && end_hh==0 && end_mm>0)

else if(end_dd==0 && end_hh==0 && end_mm==0 && end_ss>0)

else

} else

settimeout("timer('"+strtime+"','"+obj+"','"+endtime+"')",1000);

}

/*

功能:同頁面多個倒計時器

strttime:日期,如:2015-10-01 10:01:01 需要前導零

obj:顯示倒計時的按鈕,如果是鏈結的話就需要自行修改下邊原始碼

*/function timer(strtime,obj)

)\-(\d)\s+(\d):(\d):(\d)$/;

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)

else if(dd==0 && hh>0)

else if(dd==0 && hh==0 && mm>0)

else if(dd==0 && hh==0 && mm==0 && ss>0)

else

settimeout("timer('"+strtime+"','"+obj+"')",1000);

}

用js計時器寫倒計時

寫倒計時的思路 1,設定要到的時間。2,獲取當前時間。3,計算時,分,秒,毫秒的時間差,4,用計時器把整個倒計時函式包裝起來 1,倒計時內容部分 var timego newdate 2019 6 30 12 00 00 倒計時要到的時間 var timenow newdate 獲取當前時間 var...

倒計時器 CountDownLatch

countdownlatch是乙個非常實用的多執行緒控制工具類。常用的就下面幾個方法 countdownlatch int count 例項化乙個倒計數器,count指定計數個數 countdown 計數減一 await 等待,當計數減到0時,所有執行緒並行執行countdownlatch在我工作的...

發言倒計時器 單面會議計時器 會議發言倒計時器

單面會議倒計時器 說明 1.單面 控制按鈕700元 2.單面 控制按鈕 搖控800元 3.單面 控制按鈕 搖控 三腳支架1000元 以上 都是不含稅不含運費的 會議計時器功能 可以任意設定發言時長 高99分59秒 設定會議計提醒時間 以分鐘為單位,1 99分鐘 提醒音為滴滴滴的聲音,發言結束音為叮咚...