W złym miejscu wrzuciłeś te ify które dodają leadingzero.
Kod:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<nav class="controls">
<a href="#" class="button" id="#start" onclick="start();">START</a>
<a href="#" class="button" id="#stop" onclick="stop();">STOP</a>
<a href="#" class="button" id="#clear" onclick="reset();">CLEAR</a>
</nav>
<div id="#timer">00 : 00 : 00 : 00</div>
<script>
var hour = 0;
var mins = 0;
var sec = 0;
var miliSec = 0;
var timer;
function callTimer() {
miliSec++;
if (miliSec < 100) {
if (miliSec === 99) {
miliSec = 0;
sec++;
if (sec === 60) {
sec = 0;
mins++;
if (mins === 60) {
mins = 0;
hour++
}
}
}
} else {
miliSec = 0;
}
/* Dodaje za kazdym razem
if (sec < 10) {
sec = "0" + sec;
}else{
sec;
}
*/
document.getElementById("#timer").innerHTML = `${(hour < 10) ? "0" + hour : hour} : ${(mins < 10) ? "0" + mins : mins } : ${(sec < 10) ? "0" + sec : sec } : ${(miliSec < 10) ? "0" + miliSec : miliSec }`
}
function start() {
document.getElementById("#start").disabled = true;
timer = setInterval(callTimer, 10);
}
function stop() {
document.getElementById("#start").disabled = false;
clearInterval(timer);
}
function reset() {
stop();
hour = 0;
min = 0;
sec = 0;
miliSec = 0;
document.getElementById("#timer").innerHTML = hour + ":" + min + ":" + sec + ":" + miliSec;
}
</script>
</body>
</html>
Poprawki w liniach:
18 // kosmetyka
24 //zmiana nazwy zmiennej z min na mins (głupio to brzmi).
54 // string z zaszytymi ifami dodającymi 0
między 77 a 17 // usunąłem poprzednie ify.
Napisz czy o to Ci chodziło.