- var elapsed = (Date.now() - clock_origin) * 1e-3;
- if (elapsed > clock_left) return 0;
- return Math.ceil(clock_left - elapsed);
+ let elapsed = (Date.now() - clock_origin) * 1e-3;
+ if (clock_elapsed + elapsed >= clock_limit) {
+ clock_elapsed = clock_limit;
+ clock_origin = Date.now();
+ clock_running = false;
+ return clock_limit;
+ }
+ return Math.floor(clock_elapsed + elapsed);