A clean, interactive progress indicator component built with vanilla JavaScript, HTML, and CSS.
This project demonstrates a multi-step progress indicator commonly used in forms, checkout processes, and onboarding flows. It features:
- Numbered step indicators
- A progress bar that fills based on the current step
- Previous and Next navigation buttons
- Smooth transitions between states
- Visual progress tracking with numbered circles
- Animated progress bar
- Responsive button states (disabled when reaching limits)
- Smooth CSS transitions
- Clean, modern UI design
- HTML5
- CSS3 (with CSS variables and transitions)
- JavaScript (ES6)
- Google Fonts (Roboto)
- Clone or download the repository
- Open
index.htmlin your browser - Click the "Next" button to advance through the steps
- Click the "Prev" button to go back to previous steps
- Notice how the progress bar fills and the circles change state as you navigate
index.html- Basic HTML structure with the progress steps componentstyle.css- All styling with CSS variables and transitionsscript.js- JavaScript for updating the progress state and handling button clicks
The JavaScript code handles three main tasks:
- Tracking the current active step
- Updating the visual state of the circles (active/inactive)
- Calculating and updating the progress bar width
- Managing button states (enabling/disabling based on position)