废话不多说了,直接给大家贴代码了。具体代码如下所示:
其实这倒计时之前有接触过很多,只是用的都是别人的源码。
应项目需求,终于认真一回,把一个自己看似很简单的问题,终于耗上了跨度一个星期的时间,才弄出来。
源码直接复制黏贴可用。
冗余版+简化版。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title></title> </head> <body> <script type="text/javascript"> var createTime = '2016-11-14 10:20:00';//开始时间 var limitTimes = 10;//时间长度 // 倒计时 入口 countdowns = window.setInterval(function(){ var arr = cutDoowns(limitTimes,createTime); document.write(formatDate(arr[0])+':'+formatDate(arr[1])+':'+formatDate(arr[2])+'</br>'); if(arr[2]){ document.write('时间到!'); } },1000); /* s,10分钟后的具体日期: date,开始时间 然后转化成毫秒比较,所得的差值化成分秒,就是倒计时的分秒。 */ function cutDoowns(s,date){ console.log(''); var flag = false; var arr = [];//arr[0]:分,arr[1]:秒,arr[2]:返回boolean var now = new Date();//当前时间 var now1 = new Date(date);//开始时间 console.log('开始时间 now1: '+now1); now1.setMinutes(now1.getMinutes()+s);//10分钟后的时间 console.log('当前时间 now :'+now); console.log('10分钟时 now1:'+now1); // 转化成年月日 时分秒 格式 var n = now.getFullYear()+'/'+(now.getMonth()+1)+'/'+now.getDay()+' '+now.getHours()+':'+now.getMinutes()+':'+now.getSeconds(); var n1 = now1.getFullYear()+'/'+(now1.getMonth()+1)+'/'+now1.getDay()+' '+now1.getHours()+':'+now1.getMinutes()+':'+now1.getSeconds(); // 日期转化成毫秒 var time1 = (new Date(n)).getTime(); var time2 = (new Date(n1)).getTime(); // 毫秒转日期格式 var time11 = new Date(time1); var time21 = new Date(time2); console.log('当前时间:'+n+',转化成毫秒:'+time1+',time11:'+time11); console.log('10分钟时:'+n1+',转化成毫秒:'+time2+',time21:'+time21); var surplusSec = time2-time1;//距离解锁剩余毫秒 if(surplusSec<=0){ clearInterval(countdowns); flag = true; return arr = [00,00,flag]; } var minute = Math.floor(surplusSec/1000/60);//分钟 var second = Math.floor((surplusSec-minute*60*1000)/1000);//剩余秒数 console.log('剩余时间,minute: '+minute+',second: '+second+',surplusSec:'+surplusSec); // var second = Math.round(surplusTimes);//秒数 console.log('剩余时间,minute: '+minute+',second: '+second+',surplusSec:'+surplusSec); arr = [minute,second,flag]; return arr; } //格式化日期:把单字符转成双字符 function formatDate(n){ n = n.toString(); // console.log(n); if(n.length<=1){ n = '0'+n; } // console.log(n); return n; } </script> </body> </html>
简化版本:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>打开调试工具,看效果!</title> </head> <body> <script type="text/javascript"> /* 打开调试工具,看效果! 思路: 1.设置一个倒计时的时间长度; 2.设置开始时间和当前时间; 3.结束时间是 开始时间+倒计时间; 4.结束毫秒-开始毫秒=剩余倒计时间。 */ // 准备 var countdownMinute = 10;//10分钟倒计时 var startTimes = new Date('2016-11-16 15:55');//开始时间 new Date('2016-11-16 15:21'); var endTimes = new Date(startTimes.setMinutes(startTimes.getMinutes()+countdownMinute));//结束时间 var curTimes = new Date();//当前时间 var surplusTimes = endTimes.getTime()/1000 - curTimes.getTime()/1000;//结束毫秒-开始毫秒=剩余倒计时间 // 进入倒计时 countdowns = window.setInterval(function(){ surplusTimes--; var minu = Math.floor(surplusTimes/60); var secd = Math.round(surplusTimes%60); console.log(minu+':'+secd); if(surplusTimes<=0){ console.log('时间到!'); clearInterval(countdowns); } },1000); </script> </body> </html>
以上所述是小编给大家介绍的JS实现根据用户输入分钟进行倒计时功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
本文向大家介绍php+js实现倒计时功能,包括了php+js实现倒计时功能的使用技巧和注意事项,需要的朋友参考一下 js部分 html部分,php 和 js 的时间倒计时
本文向大家介绍简单实现js倒计时功能,包括了简单实现js倒计时功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js倒计时的具体代码,主要使用了JS的Date对象和定时器setInterval,供大家参考,具体内容如下 更多关于倒计时的文章请查看专题:《倒计时功能》 更多JavaScript时钟特效点击查看:JavaScript时钟特效专题 以上就是本文的全部内容,希望对大家的学习
本文向大家介绍js实现京东秒杀倒计时功能,包括了js实现京东秒杀倒计时功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js实现京东秒杀倒计时功能的具体代码,供大家参考,具体内容如下 首先给大家看看效果图,因为是做的移动端的,所以放大给大家看看局部就行: 关于实现京东秒杀,之前用过其他的方法,今天给大家分享一个原生的方法吧,不会很难. 1、倒计时页面结构: 2、css样式:这个是用
本文向大家介绍Unity实现倒计时功能,包括了Unity实现倒计时功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Unity实现倒计时功能的具体代码,供大家参考,具体内容如下 有两种思路可以实现倒计时,一个是Update,另一个是协程。这里只展示核心的算法思路,有收获的还请点个赞哦 Update 首先定义三个变量,访问权限按需求设置: 思路: 首先用GameTime初始化Time
本文向大家介绍js实现的奥运倒计时时钟效果代码,包括了js实现的奥运倒计时时钟效果代码的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现的奥运倒计时时钟效果代码。分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: 希望本文所述对大家JavaScript程序设计有所帮助。
本文向大家介绍JS倒计时实例_天时分秒,包括了JS倒计时实例_天时分秒的使用技巧和注意事项,需要的朋友参考一下 HTML代码: JavaScript代码: 以上这篇JS倒计时实例_天时分秒就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。