javascript projects for beginners with source code - Online Timer App

Last Updated: 2023-03-25 15:24:29

Javascript Projects For Beginners With Source Code Online Timer App

If you're a beginner looking for javascript projects with source code, this post is for you. In this tutorial, we'll walk you through building a simple online timer app using JavaScript. We'll also provide the source code so you can follow along and customize the app to fit your needs.


You can also check our other javascript projects for beginners with source code.

  1. Javascript Tip calculator
  2. Javascript Temperature Converter
  3. Javascript Length Converter
  4. Javascript Percentage Calculator
  5. Javascript Fraction Calculator
  6. Javascript BMI Calculator
  7. Javascript Speed Calculator
  8. Javascript Online Stopwatch Full Screen
  9. Javascript Online Timer
  10. Javascript Online Digital Clock

What a timer app is and how it works?

A timer app is a tool that helps you keep track of time. It allows you to set a specific amount of time and counts down until the time is up. Timer apps are useful for a variety of tasks, such as timing your work sessions or workouts, cooking, and more.


Use of an online timer app

The Online Timer App is a simple JavaScript project that can be used to time various activities such as cooking, exercising, studying, and working. It's a useful tool that allows you to track the duration of an activity and helps you manage your time more effectively.

For example, if you're cooking a meal and you need to keep track of the cooking time, you can use this app to start a timer and monitor the elapsed time. Similarly, if you're studying for an exam, you can use the timer to allocate a specific amount of time for each study session and take regular breaks to avoid burnout.

This app can also be used to improve productivity by tracking the time spent on tasks and measuring your work output. By setting a timer for a specific task, you can increase your focus and stay on task until the timer goes off, helping you avoid distractions and procrastination.


The main technique of creating an online timer app using javascript

The main technique used in the JavaScript code for this timer app is the use of setInterval() and clearInterval() functions to start and stop the timer. These functions are part of the built-in JavaScript timing functions that allow you to execute code at specified time intervals.


The setInterval() function takes two arguments: a function to be executed at every interval, and the interval time in milliseconds. In this app, the function to be executed increments the time value by 1 every second and updates the timer display with the formatted time.


The clearInterval() function is used to stop the timer by clearing the interval ID returned by the setInterval() function. This stops the function from executing at the specified interval, effectively stopping the timer.

Additionally, the app uses the DOM manipulation to select the timer display and buttons, and to update the timer display with the formatted time.


Therefore, a user who wants to develop this app needs to have a good understanding of JavaScript syntax, data types, functions, and DOM manipulation, and specifically the setInterval() and clearInterval() functions. They should also be familiar with how to add event listeners to DOM elements to trigger functions, and how to format data to display it in a specific way.



Online timer app in HTML CSS

First, we'll create the HTML markup for our timer app. Here's what the code looks like:

< div class="timer-container">
  < h1>Online Timer App< /h1>
  < div class="timer">
    < div class="timer-display">00:00:00< /div>
    < button class="start">Start< /button>
    < button class="stop">Stop< /button>
    < button class="reset">Reset< /button>
  < /div>
< /div>



body {
  background-color: #f7f7f7;
  font-family: Arial, sans-serif;

.timer-container {
  margin: 0 auto;
  max-width: 600px;
  text-align: center;

.timer {
  margin-top: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;

.timer-display {
  font-size: 72px;
  font-weight: bold;
  color: #333;
  margin-bottom: 30px;

button {
  background-color: #333;
  color: #fff;
  font-size: 24px;
  border: none;
  border-radius: 5px;
  padding: 10px 20px;
  margin-right: 10px;
  cursor: pointer;
  transition: background-color 0.3s ease;

button:hover {
  background-color: #444;

Here, we've added some basic styles to the body element to set the background color and font family. We've also added styles for the timer-container and timer elements to center the app on the page and style the timer display and buttons.



Javascript timer app code

Now you need to implement the main logic of the online timer app. You already know the main techniques so you just need to implement the logic using javascript.


// Select the timer display and buttons from the DOM
const timerDisplay = document.querySelector('.timer-display');
const startBtn = document.querySelector('.start');
const stopBtn = document.querySelector('.stop');
const resetBtn = document.querySelector('.reset');

// Initialize the time and interval ID variables
let time = 0;
let intervalId;

// Function to start the timer
function startTimer() {
  // Set an interval to increment the time value by 1 every second and update the timer display
  intervalId = setInterval(() => {
    const formattedTime = formatTime(time);
    timerDisplay.textContent = formattedTime;
  }, 1000);

// Function to stop the timer
function stopTimer() {
  // Clear the interval ID to stop the timer from continuing to increment the time value

// Function to reset the timer
function resetTimer() {
  // Reset the time value to 0 and update the timer display with the initial value of "00:00:00"
  time = 0;
  timerDisplay.textContent = '00:00:00';

// Function to format the time value into hours, minutes, and seconds
function formatTime(time) {
  const hours = Math.floor(time / 3600).toString().padStart(2, '0');
  const minutes = Math.floor((time % 3600) / 60).toString().padStart(2, '0');
  const seconds = (time % 60).toString().padStart(2, '0');
  return `${hours}:${minutes}:${seconds}`;

// Add event listeners to the start, stop, and reset buttons
startBtn.addEventListener('click', startTimer);
stopBtn.addEventListener('click', stopTimer);
resetBtn.addEventListener('click', resetTimer);


Here, we've created constants for the timer display and the start, stop, and reset buttons. We've also created variables to keep track of the current time and the interval ID for the timer.


The startTimer() function uses setInterval() to increment the time value by 1 every second and update the timer display with the formatted time value.


The stopTimer() function uses clearInterval() to stop the timer from continuing to increment the time value.


The resetTimer() function resets the time value to 0 and updates the timer display with the initial value of "00:00:00".


The formatTime() function takes the current time value in seconds and formats it into hours, minutes, and seconds using Math.floor() and padStart().


Finally, we've added event listeners to the start, stop, and reset buttons that call the corresponding functions when clicked.


Congratulations, you've just built a simple online timer app using JavaScript! This project is a great starting point for beginners to practice their JavaScript skills and learn how to build small projects. You can customize this app by adding new features, such as a countdown function or the ability to set a specific time limit.

Still you face problems, feel free to contact with me, I will try my best to help you.