Advertisement
Guest User

Untitled

a guest
Jul 25th, 2016
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. Meteor.methods({
  2.  
  3. runTimer: function() {
  4.  
  5. var running = false;
  6. var seconds = 20000; // (1 sec = 1000)
  7. var then; // Timer start time
  8.  
  9. // ------------------------------------
  10. // Evaluate and route
  11. // ------------------------------------
  12.  
  13. function router() {
  14. if (!running) {
  15. run();
  16. }
  17. };
  18.  
  19. // ------------------------------------
  20. // Run the timer
  21. // ------------------------------------
  22.  
  23. function run() {
  24. running = true;
  25. then = Date.now() + seconds;
  26. var interval = setInterval(function(){
  27. var time = parseTime(then-Date.now());
  28. if (time[0] > 0) {
  29. console.log(time[0] + '.' + time[1]);
  30. } else {
  31. console.log('0.00');
  32. running = false;
  33. clearInterval(interval);
  34. router();
  35. }
  36. }, 51);
  37. };
  38.  
  39. // ------------------------------------
  40. // Parse time in MS for output
  41. // ------------------------------------
  42.  
  43. function parseTime(elapsed) {
  44. // Array of time multiples [sec, decimal]
  45. var d = [1000,10];
  46. var time = [];
  47. var i = 0;
  48. while (i < d.length) {
  49. var t = Math.floor(elapsed/d[i]);
  50. // Remove parsed time for next iteration
  51. elapsed -= t*d[i];
  52. t = (i > 0 && t < 10) ? '0' + t : t;
  53. time.push(t);
  54. i++;
  55. }
  56. return time;
  57. };
  58.  
  59. router();
  60.  
  61. }
  62. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement