近期在做排列五的彩票项目,每一期都有购彩时段,即用户打开这个排列五的页面时,会从服务器传来一个remaintime(离本次彩期结束的剩余时间),然后这个时间在客户端递减呈现给用户看,让用户获得本次彩期的剩余时间。
实现原理挺简单的,在此不在赘述,运行以下代码查看demo:
<!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <title>index</title> <style type="text/css"> em{color:#f00;} </style> </head> <body> <div id="remaintime"></div> <script type="text/javascript"> var TheTime = function(){ this.init.apply(this,arguments); }; TheTime.prototype = { init: function(obj){ var that = this; obj = that.buildParam(obj); that.callback = obj.callback; var container = that.container = document.getElementById(obj.container); container.innerHTML = '<em></em>小时<em></em>分钟<em></em>秒'; var hourSpace = that.hourSpace = container.getElementsByTagName('em')[0]; var minuteSpace = that.minuteSpace = container.getElementsByTagName('em')[1]; var secondSpace = that.secondSpace = container.getElementsByTagName('em')[2]; if(obj.remaintime==0){ that.resetTime(); return; } that.hours = Math.floor(obj.remaintime/3600); that._remainder1 = obj.remaintime % 3600; that.minutes = Math.floor(that._remainder1/60); that.seconds = that._remainder1 % 60; var timer = that.timer = setInterval(function(){ that.renderTime.apply(that); },1000); }, buildParam: function(obj){ obj = { //container为dom节点的id container: obj.container || 'container', remaintime: Number(obj.remaintime) || 0, //倒计时完成后的回调 callback: obj.callback || new Function }; return obj; }, resetTime: function(){ var that = this; that.container.innerHTML = "已经截止"; }, //刷新时间 renderTime: function(){ //debugger; var that = this; if(that.seconds>0){ that.seconds--; }else{ that.seconds = 59; if(that.minutes>0){ that.minutes--; }else{ that.minutes = 59; if(that.hours>0){ that.hours--; } } } //时刻监听 if(that.hours==0 && that.minutes==0 && that.seconds==0){ //执行回调 that._callback(); } var bitHandle = that.bitHandle; var _hour = bitHandle(that.hours); var _minute = bitHandle(that.minutes); var _second = bitHandle(that.seconds); that.hourSpace.innerHTML = _hour; that.minuteSpace.innerHTML = _minute; that.secondSpace.innerHTML = _second; }, //对于位数的处理,确保返回两位数 bitHandle: function(num){ var str = num.toString(); if(str.length<2){ str = 0 + str; } return str; }, _callback: function(){ var that = this; clearInterval(that.timer); that.callback(); } }; new TheTime({ //容器id container: 'remaintime', //服务器返回的剩余时间,单位为秒 remaintime: 10000, //倒计时完成时的回调 callback: function(){ document.getElementById('remaintime').innerHTML = '已截止'; } }); </script> </body> </html>
本文向大家介绍Javascript实现倒计时时差效果,包括了Javascript实现倒计时时差效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js倒计时时差效果的实现代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍JavaScript实现短信倒计时60s,包括了JavaScript实现短信倒计时60s的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接给大家贴代码了,具体代码如下所示; 总结 以上所述是小编给大家介绍的JavaScript实现短信倒计时60s,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!
后台给了startTime和endTime的时间戳,通过他俩的差写一个倒计时,求解
本文向大家介绍JavaScript实现刷新不重记的倒计时,包括了JavaScript实现刷新不重记的倒计时的使用技巧和注意事项,需要的朋友参考一下 前言 JavaScript倒计时,实现起来不难,但是一刷新往往就重新计算了,如果要实现刷新不重计该如何做呢? 有这么几种思路, 1:cookie 2:本地缓存 3:window.name …… 前两种比较容易理解,今天我来
本文向大家介绍javascript实现倒计时(精确到秒),包括了javascript实现倒计时(精确到秒)的使用技巧和注意事项,需要的朋友参考一下 代码相当简单实用,这里就不多废话了,小伙伴们简单看下就能明白 以上所述就是本文的全部内容了,希望大家能够喜欢。
本文向大家介绍Flutter倒计时/计时器的实现代码,包括了Flutter倒计时/计时器的实现代码的使用技巧和注意事项,需要的朋友参考一下 在我们实现某些功能时,可能会有倒计时的需求。 比如发送短信验证码,发送成功后可能要求用户一段时间内不能再次发送,这时候我们就需要进行倒计时,时间到了才允许再次操作。 如下图: 为了实现这样场景的需求,我们需要使用 Timer.periodic 。 一、引入Ti