1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="UTF-8">
  6. <title></title>
  7. <script type="text/javascript" src="js/jquery.min.js"></script>
  8. </head>
  9.  
  10. <body>
  11. <div id="p1"></div>
  12. <div id="p2"></div>
  13. <script>
  14. var i = 0;
  15. function DownTime(StartTime, EndTime, CurrentTime, callback) {
  16. //计算器
  17. this.couputer = function(StatTime, EndTime, type) {
  18. var EndTime = new Date(EndTime);
  19. var NowTime = new Date(StatTime);
  20. NowTime = new Date(NowTime.getTime() + 1000 * i);
  21. var t = EndTime.getTime() - NowTime.getTime();
  22. var d = 0;
  23. var h = 0;
  24. var m = 0;
  25. var s = 0;
  26. if(t >= 0) {
  27. d = Math.floor(t / 1000 / 60 / 60 / 24);
  28. h = Math.floor(t / 1000 / 60 / 60 % 24);
  29. m = Math.floor(t / 1000 / 60 % 60);
  30. s = Math.floor(t / 1000 % 60);
  31. }
  32. var Time = {
  33. d: d,
  34. h: h,
  35. m: m,
  36. s: s
  37. }
  38. if(type == 0) {
  39. Time.title = 'out';
  40. // clearTimeout(Timer)
  41. } else if(type == 1) {
  42. Time.title = 'wait';
  43. } else if(type == 2) {
  44. Time.title = 'end';
  45. }
  46. var time = d + "" + h + "" + m + "" + s + "" + Time.title;
  47. callback(Time);
  48. };
  49. var self = this;
  50. this.init = function(StartTime, EndTime, CurrentTime) {
  51. if(self.judge1(StartTime, CurrentTime)) {
  52. //距离抢购时间倒计时
  53. self.couputer(CurrentTime, StartTime, 1);
  54. } else {
  55. if(self.judge2(CurrentTime, EndTime)) {
  56. //距离抢购时间倒计时
  57. self.couputer(CurrentTime, EndTime, 2);
  58. } else {
  59. //结束抢购
  60. self.couputer(CurrentTime, EndTime, 0);
  61. }
  62. }
  63. }
  64. this.init(StartTime, EndTime, CurrentTime);
  65. }
  66. //活动结束
  67. DownTime.prototype.judge1 = function(StartTime, CurrentTime) {
  68. StartTime = new Date(StartTime.replace(/\-/g, "\/"));
  69. CurrentTime = new Date(CurrentTime.replace(/\-/g, "\/"));
  70. CurrentTime = new Date(CurrentTime.getTime() + 1000 * i);
  71. if(StartTime > CurrentTime) {
  72. return true;
  73. }
  74. return false;
  75. }
  76. //开始抢购
  77. DownTime.prototype.judge2 = function(CurrentTime, EndTime) {
  78. CurrentTime = new Date(CurrentTime.replace(/\-/g, "\/"));
  79. EndTime = new Date(EndTime.replace(/\-/g, "\/"));
  80. CurrentTime = new Date(CurrentTime.getTime() + 1000 * i);
  81. if(EndTime > CurrentTime) {
  82. return true;
  83. }
  84. return false;
  85. }
  86. function GetBuying() {
  87. new DownTime("2017/12/22 15:00:08", "2017/12/22 17:00:10", "2017/12/22 16:59:58", function(ret) {
  88. console.log(ret)
  89. });
  90. new DownTime("2017/12/22 17:00:08", "2017/12/22 22:00:10", "2017/12/22 16:59:58", function() {
  91. });
  92. i++;
  93. }
  94. var Timer = setInterval(GetBuying, 1000)
  95. </script>
  96. </body>
  97.  
  98. </html>
    拿走不谢

 

版权声明:本文为jaume原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:http://www.cnblogs.com/jaume/p/8093743.html