変数の宣言は次のとおりです。の代わりに 、 。
また、等号の数字を確認するには、===を使用する必要がありますが、ここで問題はありません。
あなたのタイマーのビューも更新されません。したがって、あなたのhtmlの更新は、タイマーによって呼び出される関数内にあるはずです。
実際の秒数とミリ秒を使用することを目標にする場合は、タイマーが遅くリアルタイムではないため、Date型を使用することをおすすめします。だからあなたは好きな間隔でタイマーを使いますが、あなたは日付オブジェクトと呼ばれる関数を追加します。 3つの変数をDate型の1つのdatetimeに置き換えることができます。これにより、必要な細かさが得られます。
var dateTimeStart = null, censecElement = null, timer = null;
$("#startBtn").on("click", function() {//when start button is clicked
$(this).hide(); // start is hidden
$("#stopBtn").show(); // stop is shown
if(timer === null) {
// timer was not started
dateTimeStart = new Date();
timer = setInterval(updateCensec, 10); //the censec will be increased every 10 millisecond.
console.log("Started timer");
}
});
$("#stopBtn").on("click", function() {//when stop button is clicked
$(this).hide(); // stop is hidden
$("#startBtn").show(); // start is shown
if(timer) {
// timer is started/running
clearInterval(timer);
console.log("Stopped timer");
}
timer = null;
});
function updateCensec() {
var sensec = 0, sec = 0, dateTimeNow = new Date(), diffMilliseconds = 0;
diffMilliseconds = dateTimeNow - dateTimeStart;
censec = parseInt((diffMilliseconds % 600)/10); // convert milliseconds to centi seconds
sec = parseInt(diffMilliseconds/600);
if(censecElement === null) {
censecElement = $("#censec");
}
censecElement.text(sec + ":" + censec);
}
私はあなたがあなたのストップウォッチはセンチで時間を表示したい場合でも、ビューごとに10ミリ秒を更新しないことを示唆したいと思います。
私の答えに加えて、MSがTypescriptに使用するGreeterの例もチェックできます。 – Huupke