A simple date countdown function
Mar 1, 2017 · 1 分钟阅读

function countdownDate(options) {
  var defaults = {
    selector: '.countdown-date',
    startTime: new Date(),
    endTime: new Date() - (-864000000),
    onCount: undefined,
    callback: function() {}
  };

  var cfgs = $.extend(defaults, options);
  var startTime = cfgs.startTime;
  var endTime = cfgs.endTime;
  var timer = setInterval(start, 1000);

  function start() {
    var timeDiff = endTime - startTime;
    var date = addZero(parseInt(timeDiff / 1000 / 60 / 60 / 24, 10));
    var hours = addZero(parseInt(timeDiff / 1000 / 60 / 60 % 24, 10));
    var minutes = addZero(parseInt(timeDiff / 1000 / 60 % 60, 10));
    var seconds = addZero(parseInt(timeDiff / 1000 % 60, 10));

    if (typeof cfgs.onCount === 'function') {
      cfgs.onCount({
        date: date,
        hours: hours,
        minutes: minutes,
        seconds: seconds
      });
    } else {
      showTimer(date + ' 天 ' + hours + ' 时 ' + minutes + ' 分 ' + seconds + ' 秒 ');
    }

    startTime -= -1000;

    if (timeDiff <= 0) {
      if (timer) clearInterval(timer);
      cfgs.callback();
    }
  }

  function addZero(num) {
    return num < 10 ? '0' + num : '' + num;
  }

  function showTimer(data) {
    $(cfgs.selector).html(data)
  }
}
← Previous Post Next Post →

Ryun的博客
与其感慨路难行,不如马上出发。

atom css design git html javascript jekyll laravel life mac mobile optimization sublime tool vscode vue
mac

About

你好,❤朋友

这里是 Ryun 的博客 📝

📝记录了我学习 🔎的过程

作为一名前端攻城狮 🦁

希望能和大家一起 🔎

共同进步 🏃

🦁的特长:

  • HTML5
  • CSS3
  • JavaScript
  • Vue.js
  • 微信小程序
  • 熟练配合 Node.js、PHP 和 Laravel
  • 熟练使用各种开发和设计工具

🦁喜欢 🆒🆒的东西

对提升效率和美感的事物有兴趣 😋

欢迎 👏交流


see this hugo-theme-dream-ink