js 搶購倒數計時,豪秒級變動
上面是效果圖,
- 開始時間:獲取當前new Date()時間
- 結束時間:一般通過後端獲取:格式 2017-08-25 24:00:00
- 時 間 差 : 需要計算出時間差
- 使用setInterval重複計算,每100毫秒變動一次
倒數計時物件
!(function () {
'use strict';
var Countdown ;
Countdown = function (settings) {
var _ = this,str,time;
if(typeof settings !== 'object'){ return ;}
_.endTime = new Date(settings.endTime);
_.el = settings.el instanceof HTMLElement ? settings.el : document.querySelector(settings.el);
_.init = function () {
time = (function () {
var curTime = new Date(),
diff = parseInt((_.endTime.getTime() - curTime.getTime())/1000),
day = parseInt(diff/(60*60*24)),
hour = parseInt(diff/(60*60)%24),
mini = parseInt(diff/60%60),
sec = parseInt(diff%60),
ms = parseInt(((_.endTime.getTime() - curTime.getTime())/100)%10); //豪秒
diff<=0 && clearInterval(_.timer);
return {
d : (day < 10) ? ("0"+day) : day,
h : (hour < 10) ? ("0"+hour) : hour,
m : (mini < 10) ? ("0"+mini) : mini,
s : (sec < 10) ? ("0"+sec) : sec,
ms : ms
}
})();
str = '<em class="d">'+time.d+'</em><span>天</span> <em class="h">'+time.h+'</em><span>時</span> <em class="m">'+time.m+'</em><span>分</span> <em class="s">'+time.s+'.'+time.ms+'</em><span>秒</span>';
_.el.innerHTML = str;
_.timer = setInterval(function () {
_.init();
},100);
};
_.init();
};
window.Countdown = Countdown || {};
})();
使用
- el 可以是原生的dom物件,也可以是一個html class的字串
- endTime 結束時間 格式: 2017-08-25 22:21:00
new Countdown({
el : "#Countdown",
endTime : "2017-08-25 22:21:00"
})
完整示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>搶購倒數計時</title>
<style>
/*限時搶購*/
.time {
background: #ea3b38;
height: 40px;
line-height: 40px;
}
.time .active-label {
color: #fff;
margin-left: 6px;
}
.time .proinfo-cd {
margin-left: 10px;
}
.time .proinfo-cd em {
width: 39px;
height: 40px;
font: 700 14px/40px Tahoma;
color: #fff;
overflow: hidden;
word-break: break-all;
}
.time .proinfo-cd span {
width: 30px;
text-align: center;
color: #fff;
font-weight: 600;
font-size: 14px;
}
.time .time-title {
padding: 0 10px;
border-right: 1px solid #fff;
font: 700 16px/24px Microsoft Yahei;
color: #fff;
display: inline-block;
height: 24px;
vertical-align: -1px;
}
</style>
</head>
<body>
<div class="time">
<span class="time-title">限時搶購</span>
<span class="time-cd">
<span class="active-label">距搶購結束</span>
<span class="proinfo-cd" id="Countdown">
<em class="d">00</em>
<span>天</span>
<em class="h">00</em>
<span>時</span>
<em class="m">00</em>
<span>分</span>
<em class="s">00.0</em>
<span>秒</span>
</span>
</span>
</div>
<script>
!(function () {
'use strict';
var Countdown ;
Countdown = function (settings) {
var _ = this,str,time;
if(typeof settings !== 'object'){ return ;}
_.endTime = new Date(settings.endTime);
_.el = settings.el instanceof HTMLElement ? settings.el : document.querySelector(settings.el);
_.init = function () {
time = (function () {
var curTime = new Date(),
diff = parseInt((_.endTime.getTime() - curTime.getTime())/1000),
day = parseInt(diff/(60*60*24)),
hour = parseInt(diff/(60*60)%24),
mini = parseInt(diff/60%60),
sec = parseInt(diff%60),
ms = parseInt(((_.endTime.getTime() - curTime.getTime())/100)%10); //豪秒
diff<=0 && clearInterval(_.timer);
return {
d : (day < 10) ? ("0"+day) : day,
h : (hour < 10) ? ("0"+hour) : hour,
m : (mini < 10) ? ("0"+mini) : mini,
s : (sec < 10) ? ("0"+sec) : sec,
ms : ms
}
})();
str = '<em class="d">'+time.d+'</em><span>天</span> <em class="h">'+time.h+'</em><span>時</span> <em class="m">'+time.m+'</em><span>分</span> <em class="s">'+time.s+'.'+time.ms+'</em><span>秒</span>';
_.el.innerHTML = str;
_.timer = setInterval(function () {
_.init();
},100);
};
_.init();
};
window.Countdown = Countdown || {};
})();
new Countdown({
el : "#Countdown",
endTime : "2017-08-25 22:21:00"
})
</script>
</body>
</html>
相關文章
- 商品搶購倒數計時效果程式碼例項
- 倒數計時(天、時、分、秒)
- js實現活動倒數計時JS
- js 活動倒數計時詳解JS
- js自動倒數計時程式碼,倒數計時完畢時自動停止迴圈JS
- 倒數計時4天UnityVisionVR/ARSummitAsia20165折門票搶購中UnityVRMIT
- jquery實現60秒倒數計時jQuery
- JavaScript 倒數計時60秒程式碼JavaScript
- 搶購倒數計時自定義控制元件的實現與優化控制元件優化
- JavaScript 原生 小案例 60秒倒數計時JavaScript
- 倒數計時5S秒自動關閉彈窗
- 直播商城系統原始碼,js製作倒數計時,天,小時,分,秒原始碼JS
- 視訊直播系統原始碼,倒數計時顯示,商品秒殺倒數計時原始碼
- JavaScript 原生 小案例 秒殺時鐘倒數計時JavaScript
- JavaScript 天小時分鐘和秒倒數計時JavaScript
- js cookie 頁面倒數計時JSCookie
- 案例:倒數計時 js小案例JS
- 搶購倒數計時自定義控制元件的實現與最佳化控制元件
- js實現指定時間倒數計時JS
- 利用 JS 指令碼實現網頁全自動秒殺搶購JS指令碼網頁
- 手機直播原始碼,驗證碼自動讀秒倒數計時原始碼
- JavaScript年月日精確到秒倒數計時JavaScript
- css超出部分隱藏,js倒數計時CSSJS
- 倒數計時
- JavaScript倒數計時JavaScript
- 商城倒數計時
- Js Jquery 實現的按鈕倒數計時整理JSjQuery
- 直播帶貨app開發,制定商品秒殺倒數計時提示APP
- 倒數計時34天
- 倒數計時2天!
- 倒數計時1天
- 倒數計時2天
- canvas環形倒數計時Canvas
- 用 bash 倒數計時日期
- Android中handler倒數計時Android
- CountDownTimer使用——android倒數計時Android
- 小程式倒數計時深究
- 點選button倒數計時
- Axure之倒數計時效果