【问题标题】:Javascript clock with integrated countdown timer带有集成倒数计时器的 Javascript 时钟
【发布时间】:2015-10-14 13:29:36
【问题描述】:

我需要编写一个带有倒数计时器的 JavaScript 时钟,该计时器在达到特定时间时开始倒计时 5 分钟。所以我有我的时钟和它的工作,但我不知道从这里去哪里,我真的是 JavaScript 的初学者,我还在学习绳索(有点慢)你能不能给我有关如何将时钟与倒数计时器集成的一些指导(我不知道如何编码),以便在达到特定时间时,倒数计时器将开始倒计时 5 分钟。

这是我的代码:

$(document).ready(function() {

  function displayTime() {
    var currentTime = new Date ();
    var hours = currentTime.getHours();
    var minutes = currentTime.getMinutes();
    var seconds = currentTime.getSeconds();

    if (minutes < 10) {
      minutes = "0" + minutes;
    }

    if (seconds < 10) {
      seconds = "0" + seconds;
    }

    var clockDiv = document.getElementById('clock')

    clockDiv.innerText = hours + ":" + minutes + ":" + seconds;


  }

  displayTime();
  setInterval(displayTime, 1000);

  function countDown() {
    var currentTime = new Date();
    var hours = currentTime.getHours();
    var minutes = currentTime.getMinutes();
    var seconds = currentTime.getSeconds();

    if (minutes < 10) {
      minutes = "0" + minutes;
    }

    if (seconds < 10) {
      seconds = "0" + seconds;
    }

  if 


  }

});

【问题讨论】:

  • 达到一定时间是什么意思?比如每天下午 1:00 应该开始倒计时?
  • 我认为他的意思可能是当countDown达到特定条件时将displayTime集成到这个HTML元素上

标签: javascript timer clock


【解决方案1】:

所以集成部分可以通过几个简单的 If 语句来完成。 假设您希望倒计时从上午 9:00 开始

1) 创建一个布尔变量来查看我们是否应该显示当前时间或倒计时。这将非常方便,使我们免于检查范围。请注意,我们不能简单地检查当前时间,因为这只会显示一秒钟的倒计时。

2) 添加一个简单的 if 语句。说如果是时间,在这种情况下通过将变量设置为 true (9:00:00) 来切换到倒计时

3) 添加第二个 if 语句以在倒计时结束时切换回显示当前时间。这是可选的,如果您想倒计时,即使它已经结束,您也可以将其删除。注意:为了将来的使用,最好将此功能委托给而不是静态倒计时 5 分钟。你应该有一个变量说 var totalcountdown= ... 并说 if( ... minutes = 0 + totalcountdown。但是你需要在这里有环绕逻辑。

4) 添加显示倒计时或当前时间的最后语句

5) 添加倒计时代码。对于这部分,请参阅下面的帖子。我无法比这更好地解释它。

The simplest possible JavaScript countdown timer?

**重要提示:**当您复制并粘贴其他帖子中的代码时,这将不会立即生效。你需要在最后的 if 语句中调整一些东西。我会把它留给你作为练习。如果您需要帮助,请发表评论或提出新问题

$(document).ready(function() {

   function displayTime() {
      var displayCountdownp = false;
      var currentTime = new Date ();
      var hours = currentTime.getHours();
      var minutes = currentTime.getMinutes();
      var seconds = currentTime.getSeconds();

      if (minutes < 10) {
         minutes = "0" + minutes;
      }

      if (seconds < 10) {
        seconds = "0" + seconds;
      }

      var clockDiv = document.getElementById('clock')

      if( hours==9 && minutes==0 && seconds==0){
          displayCountdownp = true;
      }

      if( hours==9 && minutes== 6 && seconds==0){
          displayCountdownp = false;
      }

      if(displayCountdownp){

        var displayValue = countDown();
        clockDiv.innerText = displayValue;

      }else{
        clockDiv.innerText = hours + ":" + minutes + ":" + seconds;
      }


     displayTime();
     setInterval(displayTime, 1000);

    function countDown() {
         //code goes here
    }
});

【讨论】:

  • 谢谢伙计。我会让你知道情况如何。今晚开始,然后我会看看我能做些什么:) 我不知道如何投票给你,但谢谢你的回复
  • 没问题。如果您还有其他问题,请告诉我。在您获得 15 名声望之前,您不能投票,但如果这有助于您解决问题,您可以通过单击复选标记接受答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-10
  • 1970-01-01
  • 2020-12-05
  • 1970-01-01
  • 1970-01-01
  • 2016-06-24
  • 2012-10-13
相关资源
最近更新 更多