Javascript를 사용하여 스톱워치를 구현하고 있습니다. 나는 기본적인 HTML 문서 설정과 다음 코드가있는 stopwatch.js라는 javascript 파일을 가지고있다. 나는 setInterval
함수를 사용하여 1 초 (1000ms)마다 clockRunning
함수를 실행한다. 이것은 초, 분 및 시간에 따라 그들을 제어 할 수있게 해주지 만, 스톱워치에 밀리 세컨드를 삽입하는 데 어려움을 겪고 있습니다. 밀리 초를 0에서 1000까지 증가시킨 다음 0으로 리셋해야합니까?초시계에 밀리 초를 어떻게 표시합니까?
I가 setInterval
함수의 시간 간격을 감소시킴으로써 시도마다이 1ms라고하고 time
변수 1 함수가 호출 될 때마다 증가되는 time%1000
에 millisecond
변수를 설정한다. 그러나 그것은 내가 원하는 결과를주지 못한다. millisecond
은 너무 느리게 증가하는 것처럼 보입니다.
var running = 0
var time = 0;
var hour = 0;
var min = 0;
var sec = 0;
var millisec = 0;
function start(){
\t started = window.setInterval(clockRunning, 1000); \t
}
function stop(){
\t window.clearInterval(started);
}
function clockRunning(){
\t time++;
\t sec++;
\t if (sec == 60){
\t \t min += 1;
\t \t sec = 0;
\t if (min == 60){
\t \t hour += 1;
\t \t min = 0;
\t }
\t
\t
\t }
\t document.getElementById("display-area").innerHTML = (hour ? (hour > 9 ? hour : "0" + hour) : "00")
\t + ":" + (min ? (min > 9 ? min : "0" + min) : "00") + ":" + (sec > 9 ? sec : "0"
\t \t + sec);
};
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Stopwatch</title>
<script src="stopwatch.js"></script>
<style>
#display-area { font-size: 20pt; }
</style>
</head>
<body>
<div>
<output id="display-area">00:00:00.000</output>
</div>
<div>
<button id="toggle-button" onClick="start()">Start</button>
<button id="toggle-button" onClick="stop()">Stop</button>
<button id="reset-button">Reset</button>
</div>
</body>
</html>
https://gist.github.com/electricg/4372563 – andrew