javascript - 倒计时器到特定时间

标签 javascript

我有一个用于日期倒计时器的 JavaScript 代码。我想在在线商店订单流程中使用此代码。但是我不想每天手动编辑日期。我希望计时器每天计数到相同的目标时间。

// Set the date we're counting down to
var countDownDate = new Date("Jan 5, 2018 15:37:25").getTime();

// Update the count down every 1 second
var x = setInterval(function() {

  // Get todays date and time
  var now = new Date().getTime();

  // Find the distance between now an the count down date
  var distance = countDownDate - now;

  // Time calculations for days, hours, minutes and seconds
  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);

  // Display the result in the element with id="demo"
  document.getElementById("demo").innerHTML = "Bestellen Sie innerhalb " + hours + "Stunden und " +
    minutes + "Minuten " + "und wir versenden noch am gleichen Tag!";

  // If the count down is finished, write some text 
  if (distance < 0) {
    clearInterval(x);
    document.getElementById("demo").innerHTML = "EXPIRED";
  }
}, 1000);
<div id="timer">
  <!-- Display the countdown timer in an element -->
  <p id="demo"></p>
</div>

有人能解决这个问题吗?

最佳答案

<script>
// Set the date we're counting down to
var countDownDate = new Date("Jan 5, 2018 15:37:25").getTime();

// Update the count down every 1 second
var x = setInterval(function() {

    // Get today's date and time
    var now = new Date().getTime();

    // Find the distance between now and the target date
    var distance = countDownDate - now;

    // Time calculations for days, hours, minutes and seconds
    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);

    // Output the result in an element with id="demo"
    document.getElementById("demo").innerHTML = days + "d " + hours + "h "
    + minutes + "m " + seconds + "s ";

    // If the count down is over, write some text 
    if (distance < 0) {
        clearInterval(x);
        document.getElementById("demo").innerHTML = "EXPIRED";
    }
}, 1000);
</script>

这是结果:

289d 4h 41m 8s

关于javascript - 倒计时器到特定时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42946188/

相关文章:

javascript - 在哪里放置记录已成功更新的条件或消息

javascript - 使用内联 JavaScript 重构代码

javascript 将参数传递给 object.keys

javascript - ContentTools - 如何使用纯 js/jquery 添加新工具?

php - 许多许多 css 背景性能

javascript - 我有一个数据表可以独立工作,但不能在 IFrame 中工作

使用原型(prototype)的Javascript如何设置数字的值 "this"?

JavaScript 读取和预览多个图像

javascript - ESLINT 导出声明引起问题

javascript - 错误提示函数未定义