3分タイマーを作成しています。
タイマーの内容は以下の通りとなっております。
■ スタートを押すとタイマーが動き始める
■ ストップを押すとタイマーが停止する
■ リセットを押すと数字が03:00に戻る
■ 3分経過後にTime UP!と表示される
問題点
今の所エラーは発見されないのですが、スタートを押してもタイマーが02:59で動かなくなります。
おそらくsetIntervalが上手く連動していないのではないかと思うのですが
どのようにすれば解決すればよろしいでしょうか。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>timer</title> <script src="http://code.jquery.com/jquery-3.3.1.min.js"></script> <link rel ="stylesheet" href ="challenge_jquery.css"> <script> $(function(){ var time = 180; var setI; var min; var sec; $('#start').on("click", function startTimer() { time -= 1; min = Math.floor( time / 60 ); sec = time % 60; min = ('00' + min).slice(-2); sec = ('00' + sec).slice(-2); $('#timer').html(min + ":" + sec); $('#start').prop('disabled',true); if (time === 0) { $('#timer').html("Time UP!"); clearInterval(setI); } else { } }); $('#stop').on("click",function stopTimer() { clearInterval(setI); $('#start').prop('disabled',false); }); $('#reset').on("click",function resetTimer() { clearInterval(setI); $('#start').prop('disabled',false); $('#timer').html("03:00"); }); function startInterval() { setI = setInterval(startTimer,1000); } }); </script> </head> <body> <div id = "box"> <div id ="timer">03:00</div> <form> <input type ="button" id ="start" name ="start" value ="スタート"> <input type ="button" id ="stop" name ="stop" value ="ストップ" > <input type ="button" id ="reset" name ="reset" value ="リセット"> </form> </div> </body> </html>

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/10 11:04
2019/04/10 11:34
2019/04/10 13:49