JavaScript的倒数计时

问题描述 投票:0回答:1

我想开始倒计时,从5分钟开始,随着时间的流逝逐渐变为0。

这是我的代码:

var x = setInterval(function() {
  var t = 300;
  var minutes = Math.floor(t / 60);
  var seconds = Math.floor(t / 5; 
  document.getElementById("demo").innerHTML = minutes + ":" + seconds;
  if (t < 0) {
    clearInterval(x);
    document.getElementById("demo").innerHTML = "EXPIRED";
  }
},1000);
<p id="demo"></p>

这不起作用。我知道如何在特定的日期执行此操作,但是在确定的时间范围内无效。

有人可以帮我吗?

javascript html countdown
1个回答
0
投票

var countDown = new Date(new Date().getTime() + 5 * 60000);
var x = setInterval(function() {
   var now = new Date().getTime();
  
   var distance = countDown - now;        
   var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
   var seconds = Math.floor((distance % (1000 * 60)) / 1000); 
   document.getElementById("demo").innerHTML = minutes + ":" + seconds;
   if (distance < 0) {
    clearInterval(x);
    document.getElementById("demo").innerHTML = "EXPIRED";
  }
},1000);
<p id="demo"></p>
© www.soinside.com 2019 - 2024. All rights reserved.