先看看倒计时效果:
代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>倒计时函数</title> <script> var timer=(function(){ return function (json){ if(json.currentTime){ var now=new Date(); var year=now.getFullYear();//返回年份(4位数字) var month=now.getMonth()+1;//返回月份(0-11,所以+1) var day=now.getDate();//返回某天(1-31) var h=now.getHours();//返回小时(0-23) var m=now.getMinutes();//返回分钟(0-59) var s=now.getSeconds();//返回秒数(0-59) //补O m=m<10?'0'+m:m; s=s<10?'0'+s:s; var weekday=['星期日','星期一','星期二','星期三','星期四','星期五','星期六']; document.getElementById(json.objId).innerHTML=year+'年'+month+'月'+day+'日'+weekday[now.getDay()]+' '+h+':'+m+':'+s; setTimeout(function(){timer(json)},1000); }else{ var endtime=new Date(json.endtime);//结束时间 var nowtime = new Date();//当前时间 var lefttime=parseInt((endtime.getTime()-nowtime.getTime())/1000); //计算差的秒数 //一天24小时 一小时60分钟 一分钟60秒 d=parseInt(lefttime/3600/24); h=parseInt((lefttime/3600)%24); m=parseInt((lefttime/60)%60); s=parseInt(lefttime%60); document.getElementById(json.objId).innerHTML=d+"天"+h+"小时"+m+"分"+s+"秒"; if(lefttime>0){setTimeout(function(){timer(json)},1000);} } } })() window.onload=function(){ timer({ currentTime:true, objId:'thisTime' }) timer({ objId:'countDown', endtime:"2016/9/1,18:00" }) } </script> </head> <body> <b>当前时间:</b> <span id="thisTime"></span><br/><br/> <b>距离2016/9/1 18:00还有:</b> <span id="countDown"></span> </body> </html>
注意点:
1.有两个功能:当前时间和倒计时,带的参数不同
2.主要是利用js返回的数据,要注意月份,某天,小时,分钟,返回的数值区间
3.星期的我这边用数组处理了
4.倒计时主要是计算时间差,结束时间减去当前时间的秒数,在进行数学计算
5.这里用了闭包,防止多个定时器冲突
6.这边的代码比较易懂,牛人可以改造成插件,还望分享分享。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
我在代码中使用倒计时。问题是,倒计时不准确。onTick方法并不总是每秒执行一次,它可能需要几毫秒的时间。当试图基于millisUntilFinished执行某项任务时,这会成为一个问题。当我的20秒计时器超过10秒时,我正在尝试登录: 以下是相关代码: 这里出现了一个问题,因为countDownTimer可能永远不会有millisUntilFinished==10000,它可能等于1001,因此
本文向大家介绍JS倒计时实例_天时分秒,包括了JS倒计时实例_天时分秒的使用技巧和注意事项,需要的朋友参考一下 HTML代码: JavaScript代码: 以上这篇JS倒计时实例_天时分秒就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
定义一个接受1个参数的count_down函数。当你调用count_down(3)时,输出应该是这样的:3...2...1...0!。 我的代码如下: 但是输出是[3,2,1,0][4,3,2,1,0]如何获得如所讨论的格式所描述的格式:3...2...1...0!
本文向大家介绍Andorid实现精确到天时分秒的抢购倒计时,包括了Andorid实现精确到天时分秒的抢购倒计时的使用技巧和注意事项,需要的朋友参考一下 今天项目用到了抢购时倒计时的功能 ,今天找了好多哥们,也百度了好多,但是没有自己喜欢并且能消化的。好不容易找到了一个能容易看懂的,然而又不符合我想要的需求,所以自己搞一下。不知道是否简单,但是最起码是项目的功能可以实现。(一下午,没白费。开心) 直
本文向大家介绍js前端如何写一个精确的倒计时代码,包括了js前端如何写一个精确的倒计时代码的使用技巧和注意事项,需要的朋友参考一下 关于写倒计时大家可能都都比较熟悉,使用 setTimeout 或 setInterval 就可以搞定。几秒钟或者几分钟的倒计时这样写没有问题,但是如果是长时间的倒计时,这样写就会不准确。如果用户修改了他的设备时间,这样的倒计时就没有意义了。今天就说说写一个精确的倒计时
本文向大家介绍jquery制做精致的倒计时特效,包括了jquery制做精致的倒计时特效的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了jquery做一个小的倒计时效果的代码,供大家参考,具体内容如下 html: jquery: 本文由FungLeo原创 本文地址:http://blog.csdn.net/fungleo/article/details/49446887 总结 不是特别