亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js寫出以下倒計時:當天時間倒計時到次日10點,次日之后每到0點開始倒計時到第二天的十點

js寫出以下倒計時:當天時間倒計時到次日10點,次日之后每到0點開始倒計時到第二天的十點

呼啦一陣風 2019-03-20 17:15:51
小弟js比較弱,只能寫出當前時間到給定時間的倒計時,求大牛解答,必將好好學習研究,謝謝。
查看完整描述

3 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

好似寫的有點復雜。把倒計時時間,重置時間,計時器的偏差都加上了。

var s = 1000,

    m = 60 * s,

    h = 60 * m,

    d = 24 * h,

    tick_time = 1000,

    timezone = new Date().getTimezoneOffset() * m;


var getDayTime = function(t) {

  t = t.split(':');

  return t[0] * h + t[1] * m;

}


var getNextClock = function(clockTime, resetTime, now) {

  var result = now_d = parseInt(now / d, 10) * d + timezone;

  now_d_t = now - now_d;

  if (now_d_t > resetTime) {

    result += d;

  }

  return result + clockTime;

};


var before = 0,

  resetTime = getDayTime('00:00'),

  clock24 = getDayTime('10:00');


var tickHandler = function() {

  var now = Date.now();

  if (now - before > tick_time) {

    var nextClock = getNextClock(clock24, resetTime, now);

    var diff = nextClock - now;

    var floor = Math.floor;

    var diif_readable = [

      floor(diff / d),

      floor((diff % d) / h),

      floor((diff % h) / m),

      floor((diff % m) / s)

    ];

    console.log(diif_readable);

    before = now;

  }

};

var handler = setInterval(tickHandler, tick_time/10);

tickHandler();


查看完整回答
反對 回復 2019-03-30
  • 3 回答
  • 0 關注
  • 1442 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號