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>
相關文章
- 商品搶購倒數計時效果程式碼例項
- iOS商城類商品搶購倒數計時那點事iOS
- js——倒數計時JS
- JS倒數計時JS
- js程式碼實現倒數計時秒殺的效果JS
- JavaScript 倒數計時60秒程式碼JavaScript
- jquery實現60秒倒數計時jQuery
- Kookjs 倒數計時JS
- 搶購倒數計時自定義控制元件的實現與優化控制元件優化
- JavaScript 原生 小案例 60秒倒數計時JavaScript
- 原生js實現的天小時分鐘和秒倒數計時效果JS
- 視訊直播系統原始碼,倒數計時顯示,商品秒殺倒數計時原始碼
- JavaScript 天小時分鐘和秒倒數計時JavaScript
- JavaScript 原生 小案例 秒殺時鐘倒數計時JavaScript
- javascript小時、分鐘和秒倒數計時效果JavaScript
- 搶購倒數計時自定義控制元件的實現與最佳化控制元件
- JavaScript倒數計時60秒程式碼詳解JavaScript
- 直播商城系統原始碼,js製作倒數計時,天,小時,分,秒原始碼JS
- js cookie 頁面倒數計時JSCookie
- 案例:倒數計時 js小案例JS
- js實現活動倒數計時JS
- js 活動倒數計時詳解JS
- js實現指定時間倒數計時JS
- 手機直播原始碼,驗證碼自動讀秒倒數計時原始碼
- JavaScript年月日精確到秒倒數計時JavaScript
- 倒數計時4天UnityVisionVR/ARSummitAsia20165折門票搶購中UnityVRMIT
- 利用 JS 指令碼實現網頁全自動秒殺搶購JS指令碼網頁
- 按鈕倒數計時指定秒數可用程式碼例項
- js倒數計時 實現傳送驗證碼倒數計時60sJS
- asp.net 購物網站倒數計時功能ASP.NET網站
- 搶奪移動入口 聯想控股豪擲3.7億佈局收購
- css超出部分隱藏,js倒數計時CSSJS
- js實現驗證碼倒數計時JS
- JavaScript倒數計時JavaScript
- 年月日小時分鐘秒倒數計時效果程式碼例項
- js精確到天的倒數計時效果JS
- Ext JS 4倒數計時:開發者預覽版JS
- 自定義View( 啟動頁倒數計時)View