首页 > 代码库 > 自己封装的一个简单的倒计时功能

自己封装的一个简单的倒计时功能

因为平常工作中很常用到该功能,所以就利用这次国庆假期,重新梳理与对原有代码进行改善,再集成一个常用的功能,最终封装出这个“简单倒计时”功能。

该倒计时方法具有以下该功能:

  1. 根据指定日期与当前的电脑时间进行匹配

  2. 通过指定一个数组参数,来设置在每一天内不同的时间段进行倒计时。

* 该方法还未通过实际工作的检测,稳定性未知(如果实际工作通过,会删除这段话

 1 function countDown(date,target,filter){ 2  3     var setTime = new Date(date).getTime(), 4         timer = null; 5  6     function core(){ 7         var nowTime = new Date().getTime(), 8             leftTime = 0, 9             d = 0,h = 0,m = 0,s = 0;10 11         ////////////////////////////12         //conditation @ doublue time13         if(filter.length){14             setTime = new Date();15             for(var i=0,l=filter.length;i<l;i++){16                 setTime.setHours(filter[i]);17                 setTime.setMinutes(0);18                 setTime.setSeconds(0);19                 if(nowTime < setTime.getTime()){20                     break;21                 }else if(i == filter.length-1){22                     setTime.setDate(setTime.getDate()+1);23                     setTime.setHours(filter[0]);24                 }25                 26             }27         }28         ////////////////////////////29 30         leftTime = Math.ceil((setTime - nowTime)/1000);31         if(nowTime <= setTime){32             d = ~~(leftTime/86400);33             h = ~~(leftTime%86400/3600);34             m = ~~(leftTime%86400%3600/60);35             s = ~~(leftTime%86400%3600%60);36             timer = setTimeout(core,1e3);37         }else{38             clearTimeout(timer);39             timer = null;40         }41 42         //here set out format43         target.innerHTML = ‘d:‘+d+‘ h:‘+h+‘ m:‘+m+‘ s:‘+s;44         45     }46     core();47 }

调用方式:

1 // 普通调用2 countDown(‘2016/10/02/23:43‘,oDiv);3 4 // 指定时间循环倒计时5 countDown(‘2016/10/02/23:43‘,oDiv,[9,11,18]);

 

自己封装的一个简单的倒计时功能