javascript setInterval
HTML
<ul>
<li>Moves Made: <span id="moveCount">0</span></li>
<li>Time: <span id="timer">0</span></li>
<li>Puzzles Solved: <span id="puzzlesSolved">0</span></li>
<ul>
JavaScript
var beginTime;
function setBeginTime(beginTime){
this.beginTime = beginTime;
}
function updateText(elementID,text) {
document.getElementById(elementID).innerHTML = text;
}
function diffBetweenTimes(beginTime, endTime){
var timeTaken = endTime.getTime() - beginTime.getTime(),
daysTaken,
hoursTaken,
minutesTaken,
secondsTaken = Math.round(timeTaken / (1000)),
timeTakenString = "";
if (secondsTaken > 60){
minutesTaken = Math.floor(secondsTaken / 60);
secondsTaken = Math.floor(secondsTaken % 60);
if(minutesTaken > 60){
hoursTaken = minutesTaken / 60;
minutesTaken = minutesTaken % 60;
if(hoursTaken > 24){
daysTaken = hoursTaken / 24;
hoursTaken = hoursTaken % 24;
}
}
}
if (daysTaken > 0)
timeTakenString += daysTaken + " day(s), ";
if (hoursTaken > 0)
timeTakenString += hoursTaken + " hour(s), ";
if (minutesTaken > 0)
timeTakenString += minutesTaken + " minute(s), ";
if (secondsTaken > 0)
timeTakenString += secondsTaken + " second(s)";
return timeTakenString;
}
function timer() {
curTime = new Date();
updateText('timer', diffBetweenTimes(this.beginTime, curTime));
}
setBeginTime(new Date());
setInterval(timer, 1000);