網(wǎng)上商城開(kāi)發(fā)的時(shí)候,會(huì)用到很多新穎的效果,今天安菲云跟您一起探討一下多用戶商城系統(tǒng)的限時(shí)搶購(gòu)倒計(jì)時(shí)是怎么實(shí)現(xiàn)的。
安菲云用安菲多用戶商城系統(tǒng)為例,講解一下限時(shí)搶購(gòu)的倒計(jì)時(shí)效果。
安菲多用戶商城系統(tǒng)倒計(jì)時(shí)根據(jù)后臺(tái)設(shè)置好的時(shí)段與當(dāng)前時(shí)間來(lái)計(jì)算,然后通過(guò)定時(shí)器來(lái)執(zhí)行代碼形成倒計(jì)時(shí)效果。
在顯示倒計(jì)時(shí)的頁(yè)面調(diào)用WST.countDown函數(shù)。
代碼段:
WST.countDown = function(opts){
var itvTime =
(opts.countDownType==1)?100:1000;
var f = {
zero: function(n){
var n = parseInt(n, 10);
if(n > 0){
if(n <= 9){
n = "0" +
n;
}
return String(n);
}else{
return "0";
}
},
count: function(){
if(opts.nowTime){
var d = new Date();
d.setTime(opts.nowTime.getTime()+itvTime);
opts.nowTime = d;
d = null;
}else{
opts.nowTime = new Date();
}
//現(xiàn)在將來(lái)秒差值
var dur = 0;
var pms = {
msec: "0",
sec: "0",
mini: "0",
hour: "0",
day: "0"
};
var dur =
Math.round((opts.endTime.getTime() - opts.nowTime.getTime()));
if(dur >= 0){
pms.msec = Math.floor(dur / 100 % 10);
pms.sec = Math.floor((dur
/1000 % 60)) > 0? f.zero(dur / 1000 % 60) : "00";
pms.mini = Math.floor((dur /
60000)) > 0? f.zero(Math.floor((dur / 60000)) % 60) : "00";
pms.hour = Math.floor((dur /
3600000)) > 0? f.zero(Math.floor((dur / 3600000)) % 24) : "00";
pms.day = Math.floor((dur /
86400000)) > 0? f.zero(Math.floor(dur / 86400000)) : "00";
}
pms.last = dur;
pms.nowTime = opts.nowTime;
opts.callback(pms);
if(pms.last<=0)clearInterval(itv);
}
};
var itv = setInterval(f.count,
itvTime);
return itv;
};
以上是安菲云給您分享的多用戶商城系統(tǒng)的倒計(jì)時(shí)效果實(shí)現(xiàn),有什么疑問(wèn)您可以在文章底部留言我們哦。
