123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- // Stopwatch
- var stopwatchInterval = 0; // The interval for our loop.
- var stopwatchClock = $(".time"),
- stopwatchDigits = stopwatchClock.find('span');
- if(Number(localStorage.stopwatchBeginingTimestamp) && Number(localStorage.stopwatchRunningTime)){
- var runningTime = Number(localStorage.stopwatchRunningTime) + new Date().getTime() - Number(localStorage.stopwatchBeginingTimestamp);
- localStorage.stopwatchRunningTime = runningTime;
- startStopwatch();
- }
- if(localStorage.stopwatchRunningTime){
- stopwatchDigits.text(returnFormattedToMilliseconds(Number(localStorage.stopwatchRunningTime)));
- }
- else{
- localStorage.stopwatchRunningTime = 0;
- }
- function startStopwatch(){
- clearInterval(stopwatchInterval);
- var startTimestamp = new Date().getTime(),
- runningTime = 0;
- localStorage.stopwatchBeginingTimestamp = startTimestamp;
- // The app remembers for how long the previous session was running.
- if(Number(localStorage.stopwatchRunningTime)){
- runningTime = Number(localStorage.stopwatchRunningTime);
- }
- else{
- localStorage.stopwatchRunningTime = 1;
- }
- // Every 100ms recalculate the running time, the formula is:
- // time = now - when you last started the clock + the previous running time
- stopwatchInterval = setInterval(function () {
- var stopwatchTime = (new Date().getTime() - startTimestamp + runningTime);
- //console.log(stopwatchTime);
- $(".time").find('span').text(returnFormattedToMilliseconds(stopwatchTime));
- }, 100);
- stopwatchClock.removeClass('inactive');
- }
- function pauseStopwatch(){
- // Stop the interval.
- clearInterval(stopwatchInterval);
- if(Number(localStorage.stopwatchBeginingTimestamp)){
- // On pause recalculate the running time.
- // new running time = previous running time + now - the last time we started the clock.
- var runningTime = Number(localStorage.stopwatchRunningTime) + new Date().getTime() - Number(localStorage.stopwatchBeginingTimestamp);
- localStorage.stopwatchBeginingTimestamp = 0;
- localStorage.stopwatchRunningTime = runningTime;
- stopwatchClock.addClass('inactive');
- }
- }
- // Reset everything.
- function resetStopwatch(){
- clearInterval(stopwatchInterval);
- stopwatchDigits.text(returnFormattedToMilliseconds(0));
- localStorage.stopwatchBeginingTimestamp = 0;
- localStorage.stopwatchRunningTime = 0;
- stopwatchClock.addClass('inactive');
- }
- function returnFormattedToMilliseconds(time){
- var milliseconds = Math.floor((time % 1000) / 100),
- seconds = Math.floor((time/1000) % 60),
- minutes = Math.floor((time/(1000*60)) % 60),
- hours = Math.floor((time/(1000*60*60)) % 24);
- seconds = seconds < 10 ? '0' + seconds : seconds;
- minutes = minutes < 10 ? '0' + minutes : minutes;
- return hours + ":" + minutes + ":" + seconds;
- }
|