Best matchFeedback UI
Transform collections of data into dynamic page content.
Build a feedback ui →Build a step progress bar with HTML, CSS, and JavaScript while practicing click events and DOM selection.
In this project, we’re going to build a step progress bar using HTML, CSS, and JavaScript. You’ll see how to connect user interactions to visible changes on the page. Along the way, you’ll practice click events, DOM selection, and CSS class toggling, so you can understand how the interface and JavaScript logic work together.
Recommended knowledge: Basic HTML and CSS, JavaScript arrays and array methods, JavaScript variables and number operations, DOM selection and click events.
This project runs directly in the browser with HTML, CSS, and JavaScript.
index.html<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Step Progress Bar</title>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta2/css/all.min.css"
integrity="sha512-YWzhKL2whUzgiheMoBFwW8CKV4qpHQAEuvilg9FAn5VJUDwKZZxkJNuGM4XkWuk94WCrrwslk8yWNGmY1EduTA=="
crossorigin="anonymous"
referrerpolicy="no-referrer"
/>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div class="container">
<div class="progress-container">
<hr class="progress-bar-back" />
<hr class="progress-bar-front" />
<div class="step checked">
<i class="fas fa-check"></i>
<small>Start</small>
</div>
<div class="step">
<i class="fas fa-times"></i>
</div>
<div class="step">
<i class="fas fa-times"></i>
</div>
<div class="step">
<i class="fas fa-times"></i>
</div>
<div class="step">
<i class="fas fa-times"></i>
</div>
</div>
<button class="btn" id="prev" disabled>
<i class="fas fa-arrow-left"></i>
</button>
<button class="btn" id="next"><i class="fas fa-arrow-right"></i></button>
</div>
<script src="index.js"></script>
</body>
</html>
Practice array methods, javaScript calculations, and conditional logic with these related projects.
Best matchTransform collections of data into dynamic page content.
Build a feedback ui →
Turn JavaScript calculations into clear visual results.
Build a number counter →Use conditions to control how the interface behaves.
Build the game →
Transform collections of data into dynamic page content.
Build a feedback ui
Turn JavaScript calculations into clear visual results.
Build a number counterUse conditions to control how the interface behaves.
Build the game