58 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: How to Create a Countdown Timer
 | |
| ---
 | |
| ## How to Create a Countdown Timer
 | |
| 
 | |
| ### Creation
 | |
| Start by building the countdownTimer function.
 | |
| 
 | |
| ```javascript
 | |
| function startCountdown(seconds){
 | |
|   var counter = seconds;
 | |
| 
 | |
|   var interval = setInterval(() => {
 | |
|     console.log(counter);
 | |
|     counter--;
 | |
|     
 | |
| 
 | |
|     if(counter < 0 ){
 | |
|       
 | |
|       // The code here will run when
 | |
|       // the timer has reached zero.
 | |
|       
 | |
|       clearInterval(interval);
 | |
|       console.log('Ding!');
 | |
|     };
 | |
|   }, 1000);
 | |
| };
 | |
| ```
 | |
| 
 | |
| ### Execution
 | |
| Now to start the timer we provide `startCountdown()` with a number value as an argument which represents the seconds to countdown.
 | |
| 
 | |
| ```javascript
 | |
|   startCountdown(10);
 | |
|   // Console Output // 
 | |
|   // 10
 | |
|   // 9
 | |
|   // 8
 | |
|   // 7
 | |
|   // 6
 | |
|   // 5
 | |
|   // 4
 | |
|   // 3
 | |
|   // 2
 | |
|   // 1
 | |
|   // 0 
 | |
|   // Ding!
 | |
| ```
 | |
| 
 | |
| ### Live Example
 | |
| <a href='https://codepen.io/rdev-rocks/pen/jLogxY?editors=0012' target='_blank' rel='nofollow'>Codepen - Countdown Timer</a>
 | |
| 
 | |
| ### More Resources
 | |
| Methods used:
 | |
| * <a href='https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval' target='_blank' rel='nofollow'>setInterval()</a>
 | |
| * <a href='https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/clearInterval' target='_blank' rel='nofollow'>clearInterval()</a>
 | |
| 
 |