首页 > 代码库 > js团购倒计时
js团购倒计时
客户端代码可以看:
http://www.zhangxinxu.com/wordpress/2010/07/%E5%9B%A2%E8%B4%AD%E7%B1%BB%E7%BD%91%E7%AB%99%E5%80%92%E8%AE%A1%E6%97%B6%E7%9A%84js%E5%AE%9E%E7%8E%B0/
/* by zhangxinxu 2010-07-27 * http://www.zhangxinxu.com/* 倒计时的实现*/var fnTimeCountDown = function(d, o){ var f = { zero: function(n){ var n = parseInt(n, 10); if(n > 0){ if(n <= 9){ n = "0" + n; } return String(n); }else{ return "00"; } }, dv: function(){ d = d || Date.UTC(2050, 0, 1); //如果未定义时间,则我们设定倒计时日期是2050年1月1日 var future = new Date(d), now = new Date(); //现在将来秒差值 var dur = Math.round((future.getTime() - now.getTime()) / 1000) + future.getTimezoneOffset() * 60, pms = { sec: "00", mini: "00", hour: "00", day: "00", month: "00", year: "0" }; if(dur > 0){ pms.sec = f.zero(dur % 60); pms.mini = Math.floor((dur / 60)) > 0? f.zero(Math.floor((dur / 60)) % 60) : "00"; pms.hour = Math.floor((dur / 3600)) > 0? f.zero(Math.floor((dur / 3600)) % 24) : "00"; pms.day = Math.floor((dur / 86400)) > 0? f.zero(Math.floor((dur / 86400)) % 30) : "00"; //月份,以实际平均每月秒数计算 pms.month = Math.floor((dur / 2629744)) > 0? f.zero(Math.floor((dur / 2629744)) % 12) : "00"; //年份,按按回归年365天5时48分46秒算 pms.year = Math.floor((dur / 31556926)) > 0? Math.floor((dur / 31556926)) : "0"; } return pms; }, ui: function(){ if(o.sec){ o.sec.innerHTML = f.dv().sec; } if(o.mini){ o.mini.innerHTML = f.dv().mini; } if(o.hour){ o.hour.innerHTML = f.dv().hour; } if(o.day){ o.day.innerHTML = f.dv().day; } if(o.month){ o.month.innerHTML = f.dv().month; } if(o.year){ o.year.innerHTML = f.dv().year; } setTimeout(f.ui, 1000); } }; f.ui();};
注意:
getTimezoneOffset() 使用,可返回格林威治时间和本地时间之间的时差,以分钟为单位。要得到秒*60.
getTimezoneOffset() 方法返回的是本地时间与 GMT 时间或 UTC 时间之间相差的分钟数。实际上,该函数告诉我们运行 JavaScript 代码的时区,以及指定的时间是否是夏令时。
返回之所以以分钟计,而不是以小时计,原因是某些国家所占有的时区甚至不到一个小时的间隔。
北京显示:
最近做了一个房产的秒杀,团购的电子商务网站(房子也有秒杀,出手不小啊),其中里面有一个秒杀的倒计时展示,主要是判断当前时间距离秒杀开始还有多少时间,还有秒杀开始和秒杀结束的各种展示。
其中最主要的一点就是所谓的当前时间不能使用浏览器通过new Date()获取的客户端时间,这样只要用户修改了自己的机器时间那么倒计时就会乱透了,所以这个当前时间必须使用的是服务器时间,所以采用的是静态缓存页面所以这个当前时间使用ajax方式进行获取
参考:http://www.blogjava.net/dongbule/archive/2012/01/10/368229.html
js团购倒计时
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。