Discussion:
[JavaScript] Timere der skal holde pause
(for gammel til at besvare)
Bertel Lund Hansen
2018-07-17 11:02:16 UTC
Permalink
Jeg er i gang med at prøve at lave et bridgeur. Et sådant skal
kunne tælle ned fra et forudbestemt antal minutter, og hver gang
det når 0, skal det bare starte forfra.

Det er ønskeligt at man kan sætte uret i stå midlertidigt uden at
tiderne ændres, men det er lidt langhåret for mig der ikke har
så meget erfaring med JavaScript.

Mit foreløbige ur kører her:

http://bridge.lundhansen.dk/bridgeclock/

Tiderne er kun sat til sekunder i testfasen. Der er tre
sideløbende ure (som skal kunne vises/skjules uafhængigt, men
det klarer CSS senere hen) fordi der kan være sideløbende
turneringer der bruger hver sit ur, men jeg har opgivet at pause
dem hver for sig - medmindre det da også kan lade sig gøre. Det
ville være perfekt.

Timerrutinen er her:

var x=setInterval(function() {
for (n=0; n<3; ++n) {
--countTime[n];
document.getElementById('Timer'+n).innerHTML=formatTime(countTime[n]);
if (countTime[n]<=0)
countTime[n]=timerSeconds[n];
}
}, oneSecond);


Jeg kan godt lave en venterutine, men den kan ikke afbrydes igen:

function wait (Seconds) {
finish=new Date().getTime()+Seconds*oneSecond;
while (new Date().getTime()<finish);
}
--
/Bertel
Jan Hansen
2018-07-17 22:05:24 UTC
Permalink
Hvis ikke det skal være mere nøjagtigt, end at uret starter igen "et sted"
inden for det sekund, hvori det blev stoppet, ville jeg lave 3 pauseknapper

<p id="pause0" onClick='skift(0)'>Hold pause</p>
<p id="pause1" onClick='skift(1)'>Hold pause</p>
<p id="pause2" onClick='skift(2)'>Hold pause</p>

ledsaget af lidt javascript:

pause=[0,0,0];
tekst=['Hold pause','Fortsæt'];

function skift(nr) {
pause[nr] = (pause[nr]<1) ? 1 : 0 ;
document.getElementById('pause'+nr).innerHTML = tekst[pause[nr]];
}

og så springe nedtællingen over, hvis uret er på pause, ved at rette
--countTime[n];
til
if (pause[n]<1) --countTime[n];
--
mvh Jan.
Help Microsoft stamp out piracy. Give
Linux to a friend today!
Bertel Lund Hansen
2018-07-19 14:30:49 UTC
Permalink
Post by Jan Hansen
Hvis ikke det skal være mere nøjagtigt, end at uret starter igen "et sted"
inden for det sekund, hvori det blev stoppet, ville jeg lave 3 pauseknapper
I grunden enkelt, men det gør præcis hvad jeg har brug for. Mange
tak.
--
/Bertel
Loading...