abstract:下面就為大家?guī)硪黄约悍庋b的一個(gè)簡(jiǎn)單的倒計(jì)時(shí)功能實(shí)例。因?yàn)槠匠9ぷ髦泻艹S玫皆摴δ?,所以就利用這次國慶假期,重新梳理與對(duì)原有代碼進(jìn)行改善,再集成一個(gè)常用的功能,最終封裝出這個(gè)“簡(jiǎn)單倒計(jì)時(shí)”功能。該倒計(jì)時(shí)方法具有以下該功能:1. 根據(jù)指定日期與當(dāng)前的電腦時(shí)間進(jìn)行匹配2. 通過指定一個(gè)數(shù)組參數(shù),來設(shè)置在每一天內(nèi)不同的時(shí)間段進(jìn)行倒計(jì)時(shí)。* 該方法還未通過實(shí)際工作的檢測(cè),穩(wěn)定性未知(如果實(shí)際工作通過,會(huì)
下面就為大家?guī)硪黄约悍庋b的一個(gè)簡(jiǎn)單的倒計(jì)時(shí)功能實(shí)例。
因?yàn)槠匠9ぷ髦泻艹S玫皆摴δ埽跃屠眠@次國慶假期,重新梳理與對(duì)原有代碼進(jìn)行改善,再集成一個(gè)常用的功能,最終封裝出這個(gè)“簡(jiǎn)單倒計(jì)時(shí)”功能。
該倒計(jì)時(shí)方法具有以下該功能:
1. 根據(jù)指定日期與當(dāng)前的電腦時(shí)間進(jìn)行匹配
2. 通過指定一個(gè)數(shù)組參數(shù),來設(shè)置在每一天內(nèi)不同的時(shí)間段進(jìn)行倒計(jì)時(shí)。
* 該方法還未通過實(shí)際工作的檢測(cè),穩(wěn)定性未知(如果實(shí)際工作通過,會(huì)刪除這段話)
function countDown(date,target,filter){ var setTime = new Date(date).getTime(), timer = null; function core(){ var nowTime = new Date().getTime(), leftTime = 0, d = 0,h = 0,m = 0,s = 0; //////////////////////////// //conditation @ doublue time if(filter.length){ setTime = new Date(); for(var i=0,l=filter.length;i<l;i++){ setTime.setHours(filter[i]); setTime.setMinutes(0); setTime.setSeconds(0); if(nowTime < setTime.getTime()){ break; }else if(i == filter.length-1){ setTime.setDate(setTime.getDate()+1); setTime.setHours(filter[0]); } } } //////////////////////////// leftTime = Math.ceil((setTime - nowTime)/1000); if(nowTime <= setTime){ d = ~~(leftTime/86400); h = ~~(leftTime%86400/3600); m = ~~(leftTime%86400%3600/60); s = ~~(leftTime%86400%3600%60); timer = setTimeout(core,1e3); }else{ clearTimeout(timer); timer = null; } //here set out format target.innerHTML = 'd:'+d+' h:'+h+' m:'+m+' s:'+s; } core(); }
調(diào)用方式:
// 普通調(diào)用 countDown('2016/10/02/23:43',oDiv); // 指定時(shí)間循環(huán)倒計(jì)時(shí) countDown('2016/10/02/23:43',oDiv,[9,11,18]);
更多關(guān)于自己封裝的一個(gè)簡(jiǎn)單的倒計(jì)時(shí)功能實(shí)例請(qǐng)關(guān)注PHP中文網(wǎng)(www.miracleart.cn)其他文章!