A jQuery plugin that creates a countdown timer.


Set the desired duration using either data-seconds-left or data-minutes-left data attributes.

<div class='timer' data-minutes-left=3></div>
<div class='timer' data-seconds-left=180></div>

Then start the timer with:


The plugin creates <div> elements with the following CSS classes by default:

  • jst-hours
  • jst-minutes
  • jst-seconds
  • jst-clearDiv
  • jst-timeout (added only when the timer is finished)

Here’s an example of the HTML of a finished timer:

<div class="timer jst-timeout" data-seconds-left="3">
  <div class="jst-hours">00:</div>
  <div class="jst-minutes">00:</div>
  <div class="jst-seconds">00</div>
  <div class="jst-clearDiv"></div>

The default CSS classes can be used to style the timer or we can specify custom classes
via the classNames option. Like this:

  classNames: {
    hours: 'myClass-hours',
    minutes: 'myClass-minutes',
    seconds: 'myClass-seconds',
    clearDiv: 'myClass-clearDiv',
    timeout: 'myClass-timeout'


For more options, checkout and some more examples.


This plugin can be installed manually from github or via npm.


Clone the repository and reference the jquery.simple.timer.js file from your html:

<script src="jquery.js"></script>
<script src="jquery.simple.timer.js"></script>


To install from npm, run:

npm install jquery-simple-timer --save

jQuery is NOT installed automatically. We need to install jQuery (npm install jquery --save) and then pass it as an argument to the return value of the require() statement. Here’s an example:

// file: client.js
"use strict";

let $ = require("jquery");
require("jquery-simple-timer")($); // passing jQuery as argument



Open tests/index.html



View Github