私のプロジェクトでは、開始ボタンがクリックされたときに実行され、終了がクリックされたときに停止するタイマーを使用しています
問題は、スタートボタンが2回以上クリックされたときに誤って発生します..時間は+1000ミリ秒余分にかかり、より速く実行を開始します..これは起こらないはずです.
私のjavascriptは..
<script type="text/javascript">
var sec = 0;
var min = 0;
var hour = 0;
function stopwatch(text) {
sec++;
if (sec == 60) {
sec = 0;
min = min + 1;
} else {
min = min;
}
if (min == 60) {
min = 0;
hour += 1;
}
if (sec<=9) { sec = "0" + sec; }
document.getElementById("starttime").innerHTML = ((hour<=9) ? "0"+hour : hour) + " : " + ((min<=9) ? "0" + min : min) + " : " + sec;
SD=window.setTimeout("stopwatch();", 1000);
}
function f3() {
clearTimeout(SD);
}
</script>
<form name="clock">
<div id="starttime" style="font-size:large; "></div>
<input type="button" name="theButton" id="Start" value="Start" onClick="stopwatch(this.value);" />
<input type="button" name="theButton" id="end" value="Stop" onClick="f3();" />
</form>
私はこのようなことを試しました..
if (document.clock.theButton.value == "Start") {
window.clearTimeout(SD);
return true; }`
....しかし、機能していません