Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Meteor.methods({
- runTimer: function() {
- var running = false;
- var seconds = 20000; // (1 sec = 1000)
- var then; // Timer start time
- // ------------------------------------
- // Evaluate and route
- // ------------------------------------
- function router() {
- if (!running) {
- run();
- }
- };
- // ------------------------------------
- // Run the timer
- // ------------------------------------
- function run() {
- running = true;
- then = Date.now() + seconds;
- var interval = setInterval(function(){
- var time = parseTime(then-Date.now());
- if (time[0] > 0) {
- console.log(time[0] + '.' + time[1]);
- } else {
- console.log('0.00');
- running = false;
- clearInterval(interval);
- router();
- }
- }, 51);
- };
- // ------------------------------------
- // Parse time in MS for output
- // ------------------------------------
- function parseTime(elapsed) {
- // Array of time multiples [sec, decimal]
- var d = [1000,10];
- var time = [];
- var i = 0;
- while (i < d.length) {
- var t = Math.floor(elapsed/d[i]);
- // Remove parsed time for next iteration
- elapsed -= t*d[i];
- t = (i > 0 && t < 10) ? '0' + t : t;
- time.push(t);
- i++;
- }
- return time;
- };
- router();
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement