首页 > 解决方案 > 我需要做一个倒计时

问题描述

我正在尝试制作一个倒计时计时器,即使您更改或刷新页面,它也必须计算票证得到解决的时间,当它结束时,用户必须单击停止按钮,但我有一个问题,当它计数时,我按下按钮Stop and reset它可以工作,但是当我刷新我的网站时,它仍在计数并且它不会停止。

这是我的网站:

var countDownDate = localStorage.getItem('startDate');
if (countDownDate) {
  countDownDate = new Date(countDownDate);
} else {
  countDownDate = new Date();
  localStorage.setItem('startDate', countDownDate);
}
var x = setInterval(function() {
  var now = new Date().getTime();
  var distance = now - countDownDate.getTime();
  var days = Math.floor(distance / (1000 * 60 * 60 * 24));
  var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
  var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
  var seconds = Math.floor((distance % (1000 * 60)) / 1000);
  document.getElementById("demo").innerHTML = days + "d " + hours + "h " + minutes + "m " + seconds + "s ";
}, 1000);

function Reset() {
  var countDownDate = localStorage.getItem('startDate');
  if (countDownDate == 0, clearInterval(x)) {
    countDownDate = new Date(countDownDate);
  } else {
    countDownDate = new Date();
    localStorage.setItem('startDate', countDownDate);
  }
}
<button onclick="Reset()">Stop and Reset</button>
<p id="demo"></p>

标签: javascripthtml

解决方案


推荐阅读