Napisałem skrypt od nowa, widząc jak dużo jest do poprawy i jak wiele zbędnych linijek się w nim znajduje. Dziękuję wam za rady, wszystko prawie że działa.
<!DOCTYPE html>
<head>
</head>
<body>
<script>
function pobierz() {
stawka = document.getElementById("stawka").value;
stawka=eval(stawka); //zmiana łańcucha na liczbę
godziny = document.getElementById("godziny").value;
godziny=eval(godziny); //zmiana łańcucha na liczbę
sekundy = godziny*3600; //zamiana ilosci godzin pracy na ilosc sekund pracy
stawka_sek = stawka/3600; //przelicza stawke na godzine na stawke na sekunde
stawka_sek=eval(stawka_sek);
minelo = 0;
minelo=eval(minelo);
wynik = 0;
wynik=eval(wynik);
}
function obliczenia() {
do {
wynik = wynik + stawka_sek;
minelo = minelo + 1;
document.getElementById("wynik").textContent=wynik;
window.setTimeout("obliczenia()",1000);
}
while (minelo != sekundy);
}
</script>
<div id="form">
<input type="number" id="stawka"> Stawka godzinowa
<input type="number" id="godziny"> ile godzin pracujesz?
<input type="submit" value="start" onclick="pobierz()">
<input type="submit" value="start" onclick="obliczenia()">
</div>
<div id="wynik"></div>
</body>
Jest jednak pewien problem z setTimeout. Skrypt działa bez opóźnień, przez co zacina przeglądarkę (klasyka) i zamiast wykonywać działanie co sekundę, robi to dużo szybciej, bez końca. Dodatkowo przypomniałem sobie w jakim celu użyty jest eval. Chodziło o możliwość wykonywania obliczeń na zmiennych, który to sposób znalazłem w internecie.