Skip to content

Instantly share code, notes, and snippets.

@adhithyan15
Last active April 7, 2023 19:35
Show Gist options
  • Star 32 You must be signed in to star a gist
  • Fork 9 You must be signed in to fork a gist
  • Save adhithyan15/4350689 to your computer and use it in GitHub Desktop.
Save adhithyan15/4350689 to your computer and use it in GitHub Desktop.
A simple countdown timer in Javascript
/********************************************************************************************************************
Countdown.js is a simple script to add a countdown timer
for your website. Currently it can only do full minutes
and partial minutes aren't supported. This script is a fork of http://jsfiddle.net/HRrYG/ with some
added extensions. Since the original code that I forked was released under Creative Commons by SA license,
I have to release this code under the same license. You can view a live demo of this code at http://jsfiddle.net/JmrQE/2/.
********************************************************************************************************************/
function countdown(minutes) {
var seconds = 60;
var mins = minutes
function tick() {
//This script expects an element with an ID = "counter". You can change that to what ever you want.
var counter = document.getElementById("counter");
var current_minutes = mins-1
seconds--;
counter.innerHTML = current_minutes.toString() + ":" + (seconds < 10 ? "0" : "") + String(seconds);
if( seconds > 0 ) {
setTimeout(tick, 1000);
} else {
if(mins > 1){
countdown(mins-1);
}
}
}
tick();
}
//You can use this script with a call to onclick, onblur or any other attribute you would like to use.
countdown(n);//where n is the number of minutes required.
@kevsiraki1
Copy link

Very useful and helpful code... Thank you very much for posting this code!

@abrahamfast
Copy link

nice :)

@think2011
Copy link

nice :) +1

@RichardAgama
Copy link

💯

@emersxw
Copy link

emersxw commented Jan 22, 2018

hey I want to stop the timer without reloading the page, ex when the user hits a button, how can I do that?

@obfusticatedcode
Copy link

Brilliant thanks

@Habenzy
Copy link

Habenzy commented Oct 17, 2018

This is amazing! Bravo sir.

@sajidkhaki
Copy link

I want to reset the timer on some event how can I do that?

@OldManBrook
Copy link

3 minute countdown jumps from 01 to 59 seconds on each iteration.

Amended line 20 as below to count the 00 seconds with a 1000ms timeout

setTimeout(function(){
if(mins > 1){
countdown(mins-1);
}
},1000);

@OldManBrook
Copy link

OldManBrook commented Feb 9, 2019

I want to reset the timer on some event how can I do that?

countdown(n);//where n is the number of minutes required.

@bearcub3
Copy link

Your code wasn't verbose. It was easy to understand. Thanks for your work!
It was a great help for my project.
I actually forked your snippet in my gist, modified the coding a little bit for my app and want to share with others.
my version countdown

@bearcub3
Copy link

I want to reset the timer on some event how can I do that?

https://jsfiddle.net/gounshin/as6drbyL/1/

@fkhan698
Copy link

I am trying to add a play button and pause button to this timer. I got my pause button to work, but my I'm not sure how to get my play button to continue. Here is my Codepen

@janimuhlestein
Copy link

Just perfect. Thank you!

@thinkfink
Copy link

Works great, thank you!

@PopsJones64
Copy link

Perfect, thank you!

@PrismaticDevs
Copy link

Hey thank you, I just used this in a quiz application for my web dev class
https://prismaticdevelopmentstudios.github.io/web-apis_code-quiz/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment