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>
							 | 
						||
| 
								 | 
							
								
							 |