в js, в секундомере после того как его обнуляю во время его работы, кнопка старт не срабатывает с первого нажатия

    <!DOCTYPE html> 
<html lang="en"> 
    <head> 
        <meta charset="UTF-8"> 
        <title>Stopwatch</title> 
        <script type="text/javascript" src="script.js"></script> 
    </head> 
    <body> 
        <div class="container"> 
            <div id="display"> 
                00:00:00.0
            </div> 
            <div class="buttons"> 
                <button id="startStop" onclick="startStop()">Start</button>
                <button id="reset" onclick="reset()">Reset</button> 
            </div> 
        </div> 
    </body> 
</html>
let milsec = 0;
let seconds = 0; 
let minutes = 0; 
let hours = 0; 
let displayMilsec = 0;
let displaySeconds = 0; 
let displayMinutes = 0; 
let displayHours = 0; 
let interval = null; 
let status = "stopped"; 
function stopWatch(){ 
    milsec++;
    if(milsec / 10 === 1){
        milsec = 0;
        seconds++;
        if(seconds / 60 === 1){ 
            seconds = 0; 
            minutes++; 
            if(minutes / 60 === 1){ 
                minutes = 0; 
                hours++; 
            } 
        }
    } 
    if(milsec < 10){ 
        displayMilsec = milsec.toString(); 
    } 
    if(seconds < 10){ 
        displaySeconds = "0" + seconds.toString(); 
    } 
    else{ 
        displaySeconds = seconds; 
    } 
    if(minutes < 10){ 
        displayMinutes = "0" + minutes.toString(); 
    } 
    else{ 
        displayMinutes = minutes; 
    } 
    if(hours < 10){ 
        displayHours = "0" + hours.toString(); 
    } 
    else{ 
        displayHours = hours; 
    } 
document.getElementById("display").innerHTML = displayHours + ":" + displayMinutes + ":" + displaySeconds + "." + displayMilsec; 
} 

function startStop(){ 
    if(status === "stopped"){ 
    interval = window.setInterval(stopWatch, 100); 
    document.getElementById("startStop").innerHTML = "Stop"; 
    status = "started"; 
    } 
    else{ 
    window.clearInterval(interval); 
    document.getElementById("startStop").innerHTML = "Start";   
    status = "stopped"; 
    } 
} 

function reset(){ 
window.clearInterval(interval); 
milsec = 0;
seconds = 0; 
minutes = 0; 
hours = 0; 
document.getElementById("display").innerHTML = "00:00:00.0"; 
document.getElementById("startStop").innerHTML = "Start"; 
}

Ответы (1 шт):

Автор решения: BrainCode

После того как вы сбрасываете секундомер и нажимаете на Start, секундомер останавливается. Функция reset должна быть такой:

function reset(){ 
window.clearInterval(interval); 
milsec = 0;
seconds = 0; 
minutes = 0; 
hours = 0; 
document.getElementById("display").innerHTML = "00:00:00.0"; 
document.getElementById("startStop").innerHTML = "Start";  
status = "stopped";

}

→ Ссылка