【问题标题】:Countdown.js tweakingCountdown.js 调整
【发布时间】:2014-03-16 02:19:46
【问题描述】:

我正在使用 countdown.js:http://blog.smalldo.gs/2013/12/create-simple-countdown/

我没有使用 JavaScript 的经验,我需要将倒计时设置为从现在开始的一周,即 7 天,即 2014 年 2 月 24 日。

我将如何改变这一点?

这是我的 html 中的内容:

<head>
<script src="/js/countdown.js"></script>  
</head>

<h1 id="countdown-holder"></h1>  

<script>  
  var clock = document.getElementById("countdown-holder")  
    , targetDate = new Date(2050, 00, 01); // Jan 1, 2050;  

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

【问题讨论】:

    标签: javascript javascript-framework


    【解决方案1】:

    只需更改targetDate = new Date(2050, 00, 01);
    targetDate = new Date(2014, 01, 24);
    日期构造函数采用年、月 1 日。

    这是一个固定日期(例如 2014 年 2 月 24 日),而不是相对日期(例如“从今天开始一周”)。

    【讨论】:

      【解决方案2】:
        var newDate = new Date();
        var numberOfDaysToAdd = 7;
        newDate.setDate(newDate.getDate() + numberOfDaysToAdd); 
      
        var clock = document.getElementById("countdown-holder")  
          , targetDate = newDate;  
      
        clock.innerHTML = countdown(targetDate).toString();  
        setInterval(function(){  
          clock.innerHTML = countdown(targetDate).toString();  
        }, 1000); 
      

      这将从 7 天开始计数。它将在今天的日期上增加 7 天。

      【讨论】:

      • 有帮助,但每次刷新浏览器时都会重置。
      • 真的。问题没有提到。如果需要,日期需要来自常量(服务器端)。
      【解决方案3】:

      试试这样的,这里也是js小提琴:

      http://jsfiddle.net/rnewsome/D3tPR/

      在页面上需要一个 html 元素,如下所示:

      <div id="counter" />
      
      var StartTime = new Date();
      var counter = document.getElementById("counter");
      var timeout = null;
      
      function GetCount() {
          var timeToExpire = new Date(StartTime);
          timeToExpire.setDate(timeToExpire.getDate() + 7);
      
          var ms = timeToExpire.getTime() - new Date().getTime();
          console.log(ms + "ms", (ms/1000) + "s");
      
          return ms;
      };
      
      function UpdateUI() {
          var timeRemaining = parseInt(GetCount() / 1000);
          counter.innerHTML = timeRemaining + " seconds"; 
          if(timeRemaining > 0) {
              timeout = setTimeout(UpdateUI , 1000); // Update Counter every second
          }
      }
      
      // Init
      UpdateUI();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-05-05
        • 1970-01-01
        • 2015-09-06
        • 2017-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多