背景:前幾天,老總說為年度優秀員工評選活動(活動放在公司的OA上面,使用asp.net+MySQL開發)添加一個倒計時功能,想想沒什么難度,不過是計算一下年月日時分秒而已,用javascript能夠簡單搞定啦!
步驟:
1、傳入活動結束時間;
2、獲取當前時間;
3、計算時間戳的差值;
4、通過判斷差值并計算出剩余的時間
分享:
var tid; -- 當前時間 時間間隔周期調用函數的標記 var NowTime; -- 當前時間 var t; -- 時間戳差值 var EndTime = new Date($("#hidEnd").val().replace(eval("/-/gi"), '/')); -- $("#hidEnd").val() 記錄活動結束時間的隱藏域 獲取的時間格式 yyyy-MM-dd HH:mm:ss 需要將'-'替換為'/' function getRTime() { NowTime = new Date(); t = EndTime.getTime() - NowTime.getTime(); if (t > 0) { var d = Math.floor(t / 1000 / 60 / 60 / 24); -- 計算剩余天數 var h = Math.floor(t / 1000 / 60 / 60 % 24); -- 計算剩余小時數 var m = Math.floor(t / 1000 / 60 % 60); -- 計算剩余分鐘數 var s = Math.floor(t / 1000 % 60); -- 計算剩余秒數 document.getElementById("rt").innerHTML = "離活動結束還有:<br/>" + d + "天" + h + "時" + m + "分" + s + "秒"; -- rt 剩余時間所在span的ID } else { clearInterval(tid); -- 活動結束 清除計算 //document.getElementById("rt").innerHTML = "活動結束"; } } tid = setInterval(getRTime, 1000); -- 開始計算 間隔1S
總結:看起來簡單吧,不過還是經過我一番調試搜索才搞定的,因為以前我壓根不知道Javascript中的時間格式的限定只能用'/',而平時用的時間格式也是 yyyy-MM-dd,真是“書到用時方恨少啊”。
新聞熱點
疑難解答