Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Okt 2012

JS timer hjälp

Hej! Jag har fastnat på en Javascript-uppgift och skulle gärna vilja ha lite hjälp!
Meningen är att man på sidan skall kunna mata in ett antal minuter och sekunder och att scriptet sedan skall räkna ned till noll. Här är min kod:

<!DOCTYPE html> <head> <meta charset="utf-8"> <title>JS timer E</title> </head> <body> <input id="inpMin" type="text" placeholder="Antal minuter: "></input> <input id="inpSec" type="text" placeholder="Antal sekunder: "></input> <button id="but0">Start</button> <button id="but1">Stop</button> <button id="but2">Reset</button> <div id="outP0"></div><br><br> <div id="outP1"></div> <script> document.getElementById("but0").addEventListener("click", start); document.getElementById("but1").addEventListener("click", stop); var s = 0; var m = 0; var x = 0; var time = 0; function start() { handle = setInterval(clock, 1000); } function stop() { clearInterval(handle); } function clock() { var t = document.getElementById("inpMin").value; var t1 = document.getElementById("inpSec").value; var t2 = inpMin*60+inpSec; t2--; m = parseInt(t2/60); s = t2 - (m*60); document.getElementById("outP0").innerHTML = t2; } </script> </body>

Tack på förhand!

Mvh
Hugo

Fractal Design Define R5 | Custom vattenkylning | Intel Core I5 3570K @ 4.4GHz | ASUS Sabertooth Z77 | Sapphire R9 Fury | 24 GB 1600MHz | Corsair RM 750x | Samsung 830 128 GB | Crucial BX100 500GB |

| Egenbyggd DAC: MINI4396, moddad | --> | Fostex TH-X00 |

Trädvy Permalänk
Medlem
Registrerad
Apr 2002
Skrivet av pixzie:

Hej! Jag har fastnat på en Javascript-uppgift och skulle gärna vilja ha lite hjälp!
Meningen är att man på sidan skall kunna mata in ett antal minuter och sekunder och att scriptet sedan skall räkna ned till noll. Här är min kod:

<!DOCTYPE html>

<head>

<meta charset="utf-8">
<title>JS timer E</title>

</head>

<body>

<input id="inpMin" type="text" placeholder="Antal minuter: "></input>
<input id="inpSec" type="text" placeholder="Antal sekunder: "></input>
<button id="but0">Start</button>
<button id="but1">Stop</button>
<button id="but2">Reset</button>
<div id="outP0"></div><br><br>
<div id="outP1"></div>

<script>

document.getElementById("but0").addEventListener("click", start);
document.getElementById("but1").addEventListener("click", stop);

var s = 0;
var m = 0;
var x = 0;
var time = 0;

function start() {

handle = setInterval(clock, 1000);

}

function stop() {

clearInterval(handle);

}

function clock() {

var t = document.getElementById("inpMin").value;
var t1 = document.getElementById("inpSec").value;
var t2 = inpMin*60+inpSec;

t2--;

m = parseInt(t2/60);
s = t2 - (m*60);

document.getElementById("outP0").innerHTML = t2;

}

</script>

</body>

Tack på förhand!

Mvh
Hugo

Felet har nog ingenting med själva timern att göra utan snarast vad det är för typ av värden som du försöker utföra matematiska beräkningar med inne i clock-funktionen.

Jag skulle rekommendera att du öppnar filen i Chrome, tar fram Developer Tools (ctrl-shift-i, alt klicka runt i menyn), går till "Sources"-fliken, väljer din fil, sätter en brytpunkt inne i "clock" och sedan matar in värden i formuläret och trycker på din "Start"-knapp och stegar dig fram rad för rad genom koden.

Då kan du se exakt vad det är du har för värden i de olika variablerna i varje steg, lär gå ganska snabbt att hitta felet/felen. (Och mycket nyttigare kunskap än om någon bara pekar ut felet du råkat göra.)

Edit: https://developer.chrome.com/devtools/docs/javascript-debuggi... ger lite överblick hur du använder js debuggern

Intel i7 6850k || Asus X99-A II || Evga GTX 980Ti || Kingston HyperX Fury 2666 64GB || Samsung 950 Pro 512GB || XB270HU 1440p IPS G-Sync

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Okt 2012
Skrivet av evil penguin:

Felet har nog ingenting med själva timern att göra utan snarast vad det är för typ av värden som du försöker utföra matematiska beräkningar med inne i clock-funktionen.

Jag skulle rekommendera att du öppnar filen i Chrome, tar fram Developer Tools (ctrl-shift-i, alt klicka runt i menyn), går till "Sources"-fliken, väljer din fil, sätter en brytpunkt inne i "clock" och sedan matar in värden i formuläret och trycker på din "Start"-knapp och stegar dig fram rad för rad genom koden.

Då kan du se exakt vad det är du har för värden i de olika variablerna i varje steg, lär gå ganska snabbt att hitta felet/felen. (Och mycket nyttigare kunskap än om någon bara pekar ut felet du råkat göra.)

Edit: https://developer.chrome.com/devtools/docs/javascript-debuggi... ger lite överblick hur du använder js debuggern

Okej, tar och testar det!

Mvh
Hugo

Fractal Design Define R5 | Custom vattenkylning | Intel Core I5 3570K @ 4.4GHz | ASUS Sabertooth Z77 | Sapphire R9 Fury | 24 GB 1600MHz | Corsair RM 750x | Samsung 830 128 GB | Crucial BX100 500GB |

| Egenbyggd DAC: MINI4396, moddad | --> | Fostex TH-X00 |