【问题标题】:Stopping countdown timer Javascript and invoking action停止倒数计时器Javascript并调用动作
【发布时间】:2015-08-09 18:23:16
【问题描述】:

我正在使用这个库在 JavaScript 中运行计数器:https://github.com/mckamey/countdownjs

这是我的看法:

<p id="countdown-holder", style="font-size:18px;"></p> 

<script>  
  var clock = document.getElementById("countdown-holder")  
  , targetDate = new Date(2015, 12, 10);  

  clock.innerHTML = countdown(targetDate).toString();  
  setInterval(function(){  
    clock.innerHTML = countdown(targetDate).toString();  
  }, 1000);  
</script> 

目前,当倒计时结束时,它开始向上计数。

如何让计数器在达到 0 时停止并显示alert(); 消息?

【问题讨论】:

    标签: javascript jquery setinterval countdownjs.js


    【解决方案1】:

    在区间函数中检查Date.now() 是否大于targetDate。如果是这样,请清除超时并显示警报。

    var clock = document.getElementById("countdown-holder")  
    var targetDate = new Date(2015, 7, 7);
    
    var intervalId = setInterval(function(){
        if(Date.now() >= targetDate) {
          clearInterval(intervalId);
          alert('Hi.');
          return;
        }
        clock.innerHTML = (targetDate)
      }, 1000);
    <div id="countdown-holder">
             
    </div>

    【讨论】:

    • 在我设置的 setInterval 函数中: if (targetDate > Date.now) { alert("done!"); } 并且它在做同样的事情,向上计数而不调用警报
    • 你的比较是倒退的。你想看看现在是否大于目标。 (我的错。这就是我在回答中所说的。已修复。)您将 targetDate 设置为什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多