-4

次の 5 分までカウントダウンする JavaScript タイマーを作成する必要があります。たとえば、時刻が 00:07:30 であるとします。時刻が 15:42:00 の場合、時刻は 02:30 と表示され、タイマーは 03:00 と表示されます。ありがとうございました。

4

3 に答える 3

12

これを行うには多くの方法があります。私の考えは、現在の時間を 5 分 (300 秒) で割ったリマインダーを見つけることです。

デモ: http://jsfiddle.net/txwsj/

setInterval(function () {
    var d = new Date(); //get current time
    var seconds = d.getMinutes() * 60 + d.getSeconds(); //convet current mm:ss to seconds for easier caculation, we don't care hours.
    var fiveMin = 60 * 5; //five minutes is 300 seconds!
    var timeleft = fiveMin - seconds % fiveMin; // let's say now is 01:30, then current seconds is 60+30 = 90. And 90%300 = 90, finally 300-90 = 210. That's the time left!
    var result = parseInt(timeleft / 60) + ':' + timeleft % 60; //formart seconds back into mm:ss 
    document.getElementById('test').innerHTML = result;

}, 500) //calling it every 0.5 second to do a count down
于 2013-04-22T21:38:13.237 に答える
0

window.setInterval()代わりに、次のように使用できます。

    window.setInterval(function(){
        var time = document.getElementById("secs").innerHTML;
        if (time > 0) {
            time -= 1;
        } else {
            alert ("times up!");
            //or whatever you want
        }
        document.getElementById("secs").innerHTML = time;
    }, 1000);
于 2013-05-04T23:59:42.103 に答える
-1

Web ページでタイマーを実行したい場合は、次のようなものを使用できます。

<html>  
  <head>
    <script type="text/javascript">
      var now = new Date().getTime();
      var elapsed = new Date().getTime() - now;
      document.getElementById("timer").innerHtml = elapsed;
      if (elapsed > 300000 /*milliseconds in 5 minutes*/) {
        alert ("5 minutes up!");
        //take whatever action you want!
      }
    </script>
  </head>
  <body>
    <div id="timer"></div>
  </body>
</html>
于 2013-04-22T21:27:35.620 に答える