Tijd wilt niet hervatten

Status
Niet open voor verdere reacties.

fritsflits

Gebruiker
Lid geworden
11 feb 2008
Berichten
82
Hallo,

Ik heb een tellertje gemaakt voor school en is nu heerlijk kort. :) Ik heb nu alleen nog 1 ding waar ik mee zit.
Wanneer ik de stopwatch start, en vervolgens op pauze of reset klik en daarna weer verder wil gaan door middel van start heeft die daar geen zin meer in.

Code:
<html><head><script language="JavaScript" type="text/javascript">
var seconde = 0;
function stopwatch() 
{ 
document.klok.button.onclick = function() { return true }
document.klok.textvak.value = seconde++;
tijd=window.setTimeout("stopwatch();", 1000); 
}
</script></head><body>
<form name="klok">
<input type="text" name="textvak" value="0"><br>
<input type="button" value="Start" name="button" onClick="stopwatch();">
<input type="button" value="Pauze" onClick="window.clearTimeout(tijd);">
<input type="button" value="Reset" onClick="seconde=0; window.clearTimeout(tijd);reset();">
</form></body></html>

Code:
document.klok.button.onclick = function() { return true }
Dit staat erin zodat de tijd niet sneller gaat tellen als je vaker op "start" klikt.
Als ik er dus 5x op klik, telt de tijd 5 keer zo snel en moet ik ook weer 5 keer op pauze of reset klikken.
Als ik dit stukje eruit haal, doet het andere het wel met dat de tijd hervat zodra ik op "start klik"

Dus er zijn denk ik wel meerdere mogelijkheden om het op te lossen.

Hoop dat het een beetje duidelijk is en me iemand verder kan helpen.

Gr Frits
 
Laatst bewerkt:
Knoppen werken nu

<html><head><script language="JavaScript" type="text/javascript">
var seconde = 0;
function stopwatch()
{
document.klok.button.onclick = function() { return true }
document.klok.textvak.value = seconde++;
tijd=window.setTimeout("stopwatch();", 1000);
}
</script></head><body>
<form name="klok">
<input type="text" name="textvak" value="0"><br>
<input type="button" value="Start" name="button" onClick="stopwatch();">
<input type="button" value="Pauze" onClick="window.clearTimeout(tijd);"name="button" onClick="stopwatch();">
<input type="button" value="Reset" onClick="seconde=0; window.clearTimeout(tijd);reset();">
</form></body></html>
 
Wat is er anders aan?

Een naam hoeft er niet in, volgens mij :confused:
En er staat nu 2 keer onClick

Gr Frits
 
lezen?

Nu heb je, dat als je 2 keer op start klikt, de tijd 2 keer zo snel loopt.
Dat moet dus nu worden opgelost... maar hoe?

Gr Frits
 
hehehe... jij snapt hem :P

Heb je een momentje? over 5 min zal ik de code posten (ff maken)

M.v.g.
JBtje

De code:
Code:
<html><head>
<script language="JavaScript" type="text/javascript">
<!--
var seconde = 0;
var starter_ = 0;
function starter( id )
{
 // id = 0 als pauze knop...
 // id = 1 als start knop...
  if(starter_ == 0 && id == 1)
  {
   // De functie starten
    starter_ = 1;
  }else if(id == 0){
   // de functie stoppen
    starter_ = 0;
} }

function stopwatch() 
{
  if(starter_ == 1)
  {
    seconde++;
  }
  setTimeout("stopwatch();", 500);
  document.klok.textvak.value = Math.floor(seconde/2);
}
stopwatch();
//-->
</script></head><body>
<form name="klok">
  <input type="text" name="textvak" value="0"><br />
  <input type="button" value="Start" name="button" onClick="starter(1);">
  <input type="button" value="Pauze" onClick="starter(0);"name="button">
  <input type="button" value="Reset" onClick="seconde=0; starter(0);">
</form>
</body></html>

De grap is dus dat je indirect de functie aanstuurt... namelijk door middel van een varriabelen...
Er zit nu wel een kleine vertraging in de buttons, doordat de tekstbox maar ééns per 0.5 sec geupdated wordt.... Je kunt hier ook 250 milisec van maken (moet je seconde delen door 4).... dan zal de resctie sneller zijn....
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan