Simple JavaScript countdown

Simple JavaScript countdown to set date with no dependencies.

by zerrax

HTML

<div id="countdown"></div>
<div id="countdown-elements">
  <span>hours</span>
  <span>minutes</span>
  <span>seconds</span>
</div>

CSS

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 14px;
    color: #24292e;
}

#countdown {
  width: 200px;
  background-color: #FFFFFF;
  text-align: center;
  font-size: 48px;
}
#countdown span {
  color: #666666;
  font-weight: 300;
  display: inline-block;
  padding: 0 2px;
}

#countdown-elements {
  width: 200px;
  background-color: #FFFFFF;
  text-align: center;
}

#countdown-elements span {
  font-size: 10px;
  text-transform: uppercase;
  display: inline-block;
  padding: 0 12px;
}

JavaScript

/**
function pad(n) {
  return n < 10 ? '0' + n : n;
}

function CountDownTimer(dt, id) {
  var end = new Date(dt);

  var _second = 1000;
  var _minute = _second * 60;
  var _hour = _minute * 60;
  var _day = _hour * 24;
  var timer;

  function showRemaining() {
    var now = new Date();
    var distance = end - now;
    if (distance < 0) {
      clearInterval(timer);
      document.getElementById(id).innerHTML = 'EXPIRED!';

      return;
    }
    var days = Math.floor(distance / _day);
    var hours = Math.floor((distance % _day) / _hour);
    var minutes = Math.floor((distance % _hour) / _minute);
    var seconds = Math.floor((distance % _minute) / _second);

    document.getElementById(id).innerHTML = pad(hours) + '<span>:</span>' + pad(minutes) + '<span>:</span>' + pad(seconds);
  }

  timer = setInterval(showRemaining, 1000);
}
/**/

function pad(n){return 10>n?"0"+n:n}function CountDownTimer(n,e){function t(){var n=new Date,t=r-n;if(0>t)return clearInterval(a),void(document.getElementById(e).innerHTML="EXPIRED!");var i=(Math.floor(t/f),Math.floor(t%f/l)),p=Math.floor(t%l/d),u=Math.floor(t%d/o);document.getElementById(e).innerHTML=pad(i)+"<span>:</span>"+pad(p)+"<span>:</span>"+pad(u)}var a,r=new Date(n),o=1e3,d=60*o,l=60*d,f=24*l;a=setInterval(t,1e3)}

CountDownTimer('1/27/2020 2:0 PM GMT+0100', 'countdown');