【问题标题】:How to display days+hours+mins+secs in javascript countdown code?如何在javascript倒计时代码中显示天+小时+分钟+秒?
【发布时间】:2017-02-06 10:40:32
【问题描述】:

我正在尝试用 javascript 制作一个倒计时时钟来倒计时到一个日期。问题是我试图让它只显示几天和几小时。这是我的代码:

var deadline = '2017-06-01';
function getTimeRemaining(endtime) {
   var t = Date.parse(endtime) - Date.parse(new Date());
   var seconds = Math.floor((t / 1000) % 60);
   var minutes = Math.floor((t / 1000 / 60) % 60);
   var hours = Math.floor((t / (1000 * 60 * 60)) % 24);
   var days = Math.floor(t / (1000 * 60 * 60 * 24));
   return {
       'total': t,
       'days': days,
       'hours': hours,
       'minutes': minutes,
       'seconds': seconds
   };
}

function initializeClock(id, endtime) {
  var clock = document.getElementById(id);
  var timeinterval = setInterval(function () {
      var t = getTimeRemaining(endtime);
      clock.innerHTML = 'days: ' + t.days + '<br>' +
                        'hours: ' + t.hours + '<br>' +
                        'minutes: ' + t.minutes + '<br>' +
                        'seconds: ' + t.seconds;
      if (t.total <= 0) {
          clearInterval(timeinterval);
      };
  }, 1000);
}

我尝试注释掉秒数和分钟数,但没有成功。究竟我需要评论什么?谢谢!

【问题讨论】:

  • clock.innerHTML = 'days: ' + t.days + '&lt;br&gt;' + 'hours: ' + t.hours + '&lt;br&gt;';
  • 谢谢你,你是传奇
  • 为什么不使用Date() 函数来获取日期? var t = (new Date(2017,5,1,0,0,0,0) - new Date())/1000; → t 以秒为单位存储当前时刻与 2017 年 6 月 1 日凌晨 12 点之间的差异。

标签: javascript html countdown


【解决方案1】:

使用此代码。

    function initializeClock(id, endtime) {
        var clock = document.getElementById(id);
        var timeinterval = setInterval(function () {
            var t = getTimeRemaining(endtime);
            clock.innerHTML = 'days: ' + t.days + '<br>' +
                  'hours: ' + t.hours + '<br>';
            //                      +'minutes: ' + t.minutes + '<br>' +
            //                      'seconds: ' + t.seconds;
            if (t.total <= 0) {
                clearInterval(timeinterval);
            };
        }, 1000);
    }

【讨论】:

    【解决方案2】:
    clock.innerHTML = 'days: ' + t.days + '<br>' +
                            'hours: ' + t.hours + '<br>'// + 
                            //'minutes: ' + t.minutes + '<br>' +
                            //'seconds: ' + t.seconds;
    

    您可能忘记在第二行中最后一个“+”注释。

    演示: https://jsfiddle.net/72v5sofn/

    【讨论】:

      【解决方案3】:

      你可以试试这个

       document.getElementById("id").innerHTML = 'days: ' + t.days + '<br>' +
                                'hours: ' + t.hours + '<br>';
      

      【讨论】:

        【解决方案4】:

        点赞

          clock.innerHTML = 'days: ' + t.days + '<br>' +
                            'hours: ' + t.hours + '<br>' +
                            //'minutes: ' + t.minutes + '<br>' +
                            //'seconds: ' + t.seconds;
        

        会导致错误,因为最后你得到了一个松散的+。使用

          clock.innerHTML = 'days: ' + t.days + '<br>' +
                            'hours: ' + t.hours + '<br>' + ''
                            //'minutes: ' + t.minutes + '<br>' +
                            //'seconds: ' + t.seconds;
        

        保护它。

        【讨论】:

          猜你喜欢
          • 2017-10-15
          • 2020-09-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-11-24
          • 1970-01-01
          相关资源
          最近更新 更多