開発中のColdFusionアプリケーションには、開始、一時停止、およびクリアできるタイマーが必要です。私の問題は、IE9、Firefox、Opera、Chrome、Safariでは完全に正常に機能しますが、IE8(ユーザーベースの大部分)では機能しないことです。問題は、クリックしてタイマーを停止しようとすると、タイマーが停止するのではなく、速度が上がることです。IE8でのみ実行されます(他のブラウザーは正常に動作します)。
-時計コード-
function check_timer() {
if($('#timer').hasClass('start')) {
$('#timer').val("Stop Timer");
timer = setInterval ( "increaseCounter()", 1000 );
$('#timer').removeClass('start')
}
else {
if(typeof timer != "undefined") {
clearInterval(timer);
}
$('#timer').val("Start Timer");
$('#timer').addClass('start')
}
}
function increaseCounter() {
var secVal;
var minVal;
secVal = parseInt($('#counterSec').html(),10)
minVal = parseInt($('#counterMin').html(),10)
if(secVal != 59) {
secVal = secVal + 1;
if(secVal < 10) {
secVal = secVal.toString();
secVal = "0" + secVal;
}
$('#counterSec').html(secVal);
}
else {
if(minVal != 59){
minVal = minVal + 1;
if(minVal < 10) {
minVal = minVal.toString();
minVal = "0" + minVal;
}
$('#counterMin').html(minVal);
}
else {
$('#counterHour').html((parseInt($('#counterHour').html(),10)+1));
$('#counterMin').html("00");
}
$('#counterSec').html("00");
}
}
-時計を含むDIV-
<div class="supportClock" style="width:150px; border-radius:20px;" align="center">
<span id="addZeroHour"></span>
<span id="counterHour">00</span>
:<span id="addZeroMin"></span>
<span id="counterMin">00</span>
:<span id="addZeroSec"></span>
<span id="counterSec">00</span>
</div>
-時計をアクティブにするボタン-
<input type="button" id="timer" class="start" value="Start Timer" onclick="check_timer()">