Javascript Stopwatch

by merganser

HTML

<h1><time>00:00:00</time></h1>

CSS

h1 {
  font-family: TimesNewRoman, Times New Roman, Times, Baskerville, Georgia, serif;
  font-size: 2em;
  border: 0px;
  line-height: 2em;
  margin:0px;
  padding:0px;
}

JavaScript

var h1 = document.getElementsByTagName('h1')[0],
  seconds = 0,
  minutes = 0,
  hours = 4,
  t;


$(document).ready(function() {

  var starttime = getParameterByName('startime');
  if (starttime) {

    var st = '01-01-1970 ' + starttime;
    var d = new Date(st);

    hours = d.getHours();
    minutes = d.getMinutes();
    seconds = d.getSeconds();

  } 

  timer();

})




function add() {
  seconds++;
  if (seconds >= 60) {
    seconds = 0;
    minutes++;
    if (minutes >= 60) {
      minutes = 0;
      hours++;
    }
  }

  h1.textContent = (hours ? (hours > 9 ? hours : "0" + hours) : "00") + ":" + (minutes ? (minutes > 9 ? minutes : "0" + minutes) : "00") + ":" + (seconds > 9 ? seconds : "0" + seconds);

  timer();
}

function timer() {
  t = setTimeout(add, 1000);
}

function getParameterByName(name, url) {
  if (!url) url = window.location.href;
  name = name.replace(/[\[\]]/g, "\\$&");
  var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
    results = regex.exec(url);
  if (!results) return null;
  if (!results[2]) return '';
  return decodeURIComponent(results[2].replace(/\+/g, " "));
}