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

网友投稿 196 2023-06-28


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

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

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

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

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

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

function countDown(date,target,filter){

var setTimepNZngMtAN = new Date(date).getTime(),

timer = null;

function core(){

var nowTime = new Date().getTime(),

leftTime = 0,

d = 0,h = 0,m = 0,s = 0;

http:// ////////////////////////////

//conditation @ doublue time

if(filter.length){

setTime = new Date();

for(var i=0,l=filter.length;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]);

}

}

}pNZngMtAN

////////////////////////////

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();

}

调用方式:

// 普通调用

countDown('2016/10/02/23:43',oDiv);

// 指定时间循环倒计时

countDown('2016/10/02/23:43',oDiv,[9,11,18]);

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]);

}

}

}pNZngMtAN

////////////////////////////

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();

}

调用方式:

// 普通调用

countDown('2016/10/02/23:43',oDiv);

// 指定时间循环倒计时

countDown('2016/10/02/23:43',oDiv,[9,11,18]);


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:详解获取jq ul第一个li定位的四种解决方案
下一篇:BootStrap按钮标签及基本样式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~