]> git.sesse.net Git - ultimatescore/commitdiff
Make the timer count upwards instead of downwards, and make it stop when reaching...
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Sun, 18 Feb 2018 18:23:10 +0000 (19:23 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Sun, 18 Feb 2018 18:23:10 +0000 (19:23 +0100)
score.html
score.js

index 4d7921daf037cc2af067101e8a660c56bd62fa03..43455180f0d5ed5cabd8b740278960087a618042 100644 (file)
@@ -21,7 +21,7 @@
       </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">
@@ -45,7 +45,7 @@
       <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>
index 21a2cde5b71ad71034dd1fd4d944995497795b39..f2534d114377a2ad9762a5d36f969ebfcdbd88c9 100644 (file)
--- a/score.js
+++ b/score.js
@@ -4,7 +4,8 @@ let clock_running = false;
 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;
@@ -44,14 +45,14 @@ function startclock()
 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();
 }
@@ -151,18 +152,23 @@ function hidelowerthird()
        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;