js实现倒计时,定时器--完成时间倒计时

js实现倒计时,定时器–完成时间倒计时

//每秒刷新一次
setInterval(function showtime() {
             //结束时间
             var endTime = document.getElementById("endTime").value;
             endTime = new Date(endTime);
             //当前时间
             let beginTime = new Date();
             //计算间隔的毫秒数
             var jgTime = endTime - beginTime;
             //一秒=1000毫秒(24,60,60就不解释了)
             //获得天数
             var dd = parseInt(jgTime /1000/ 24 / 60 /60);
             dd = dd < 10 ? '0' +dd : dd;
             //获得小时数,24小时之内
             var HH= parseInt(jgTime /1000/ 60 / 60 % 24);
             HH= HH< 10 ? '0' +HH: HH;
             //获得分钟数,60分钟之内
             var mm = parseInt(jgTime /1000/ 60  % 60);
             mm = mm < 10 ? '0' +mm : mm;
             //获得秒数,60秒之内
             var ss = parseInt(jgTime/1000  % 60);
             ss = ss < 10 ? '0' +ss : ss;
             var jg = document.getElementById("jgTime");
             jg.innerText =dd + '天' + HH+ '时' + mm + '分' + ss +'秒';
         },1000);

思路:用获取的时间戳-现在的时间戳得到间隔的毫秒数,时间无法减去时间,有可能生成负数,所以采用时间戳的方法得到毫秒数形式的剩余时间,最后再把剩余时间转换为天、时、分、秒格式。

dd = parseInt(总秒数/60/60/24);     // 计算天数
HH = parseInt(总秒数/60/60 % 24);   // 计算小时
mm = parseInt(总秒数/60 % 60);      // 计算分钟
ss = parseInt(总秒数 % 60);         // 计算秒数
new Date();   转换为时间戳格式

1.倒计定时器:timename=setTimeout(“function();”,delaytime);
2.循环定时器:timename=setInterval(“function();”,delaytime);
第一个参数“function()”是定时器触发时要执行的动作,可以是一个函数,也可以是几个函数,函数间用“;”隔开即可。
你打开一个页面后,想间隔几秒自动跳转到另一个页面,则你就需要采用倒计定时器“setTimeout(“function();”,delaytime)” ,而如果想将某一句话设置成一个一个字的出现,
则需要用到循环定时器“setInterval(“function();”,delaytime)” 。
clearTimeout(对象) 清除已设置的setTimeout对象
clearInterval(对象) 清除已设置的setInterval对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值