</table>
<table class="clockbug clockbug-hidden" id="clockbug">
<tr>
- <td class="clock" id="clock">30:00</td>
+ <td class="clock" id="clock">0:00</td>
</tr>
</table>
<table class="commentbug commentbug-hidden" id="commentbug">
<p>
<a href="javascript:startclock()">start clock</a>
<a href="javascript:stopclock()">stop clock</a>
- <a href="javascript:setclock(30*60)">reset clock</a>
+ <a href="javascript:setclock(0)">reset clock</a>
<a href="javascript:showclock()">show clock</a>
<a href="javascript:hideclock()">hide clock</a>
</p>
let clock_visible = false;
let comment_visible = false;
let lowerthird_visible = false;
-let clock_left = 30 * 60;
+let clock_elapsed = 0;
+let clock_limit = 30 * 60;
let scoreA = 0;
let scoreB = 0;
let clock_origin;
function stopclock()
{
if (!clock_running) return;
- clock_left = time_left();
+ clock_elapsed = time_elapsed();
clock_origin = Date.now();
clock_running = false;
}
function setclock(amount)
{
- clock_left = amount;
+ clock_elapsed = amount;
clock_origin = Date.now();
update_clock();
}
lowerthird_visible = false;
}
-function time_left()
+function time_elapsed()
{
let elapsed = (Date.now() - clock_origin) * 1e-3;
- if (elapsed > clock_left) return 0;
- return Math.ceil(clock_left - elapsed);
+ 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);
}
function update_clock()
{
- let left = time_left();
- let min = Math.floor(left / 60);
- let sec = left % 60;
+ let elapsed = time_elapsed();
+ let min = Math.floor(elapsed / 60);
+ let sec = elapsed % 60;
if (sec < 10) sec = "0" + sec;
document.getElementById('clock').innerHTML = min + ":" + sec;