【问题标题】:Jquery countdown for dayJquery倒计时一天
【发布时间】:2015-01-31 12:37:35
【问题描述】:

我有一个按小时、分钟和秒工作的倒计时 jquery。到目前为止,这非常有效。但是我希望它也算一天

这是JS FIDDLE

HTML

<div id="counttime">24:00:00</div>
<div id="cons"></div>

JQUERY

    function pad(num) {
  return num<10?"0"+num:num;
}
$(function() {
  var tCont = $('#counttime');
  var timer = tCont.html().split(':');

  if (timer.length === 2) timer.unshift(0);
  var endMilli= timer[0]*60*60*1000;
  endMilli += timer[1]*60*1000
  endMilli += timer[2]*1000;
  if(endMilli > 0) {
    var endTime = new Date(Date.now()+endMilli);   
$("#cons").append("<br>"+endTime);
    var tId = setInterval(function() {
      var diff = endTime.getTime()-Date.now();
      if (diff<=0) {
        tCont.html("00:00:00");
        clearInterval(tId);
      }
      else {
        var d = new Date(diff);
        hh = pad(d.getUTCHours()); 
        mm = pad(d.getMinutes());
        ss = pad(d.getSeconds());
        tCont.html(""+hh+":"+mm+":"+ss);
      }
    },300);      
  }
});

【问题讨论】:

  • 对不起...你说的一天是什么意思?
  • 您的问题并不完全清楚。与其说“它工作正常”,不如试着描述一下“它工作正常”的行为是什么
  • @ArunPJohny 的意思是我想倒计时日、时、分、秒...现在只有时、分、秒

标签: jquery


【解决方案1】:

您的hh 部分应乘以天数!

hh = pad(d.getUTCHours() + d.getDay()*24); 

您也应该添加月份...不确定这是否容易。 或者你可以试试这个:

var hours = Math.abs(date1 - date2) / 36e5;
hh = pad(hours); 

36e5 = 60*60*1000 毫秒

【讨论】:

【解决方案2】:

您必须调整代码以允许 4 个部分,然后添加一行来评估天数:

dd = pad( (diff - diff % (864e5))/864e5 ),

DEMO

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多