Skip to content

Alorel/alo-timer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

For most things a simple setTimeout() or setInterval() is enough - but Javascript timers get throttled when the page is minimised/tabbed out of and you will end up with imprecise timings in the long run. This is where AloTimer comes in - you set a timer and poll it with as much precision as you need - while individual polling calls might get throttled, the end result will always be accurate.

Coverage Status Build Status Deps Deps

NPM

Functionality

Greenkeeper badge

  • Add or subtract any amount of miliseconds/seconds/minutes/hours/days
  • Get the amount of any of the above left individually
  • Output time left as a DD:HH:mm:ss string (customisable)
  • A simple check whether the timeout has finished
  • Pause and unpause the timer

Installation

<script src="path-to-alotimer.min.js"></script>

Or, if you prefer Node,

npm install alo-timer --save

Usage example

var span       = document.getElementById("my-countdown"),
    timer      = new AloTimer(3600000, ["hours", "minutes", "seconds"]), // 1 hr
    intervalCb = function () {
       if (!timer.hasFinished) {
           span.innerText = timer.toString();
       } else {
           span.innerText = "YOUR SCHNITZEL IS DONE!";
           clearInterval(interval);
       }
   },
   interval   = setInterval(intervalCb, 1000);

More information: