Vertical side scroll progress bar with a purple to red gradient effect that fills based on scroll depth using vanilla JavaScript

Gradient Vertical Scroll Progress Bar

This is a Gradient Vertical Scroll Progress Bar. It maps the user’s vertical position to a visual meter along the right edge of the viewport. Its function is to provide an unobtrusive sense of reading progress without cluttering the main content area.

Technologies:
HTML CSS JavaScript
Difficulty: Beginner
Browser Support (as of Mar 2026):
Chrome Chrome 61+ Edge Edge 17+ Firefox Firefox 64+ Safari Safari 11+
Features:
Scroll Tracking Gradient Fill Dynamic Opacity
Code by: Emma Bostian Emma Bostian
License: MIT
A webpage with both a linear and a circular scroll progress indicator that animate as the user scrolls.

Page Scroll Progress Bars

A dual-format scroll progress indicator featuring a linear top bar and a circular SVG gauge with a “Back to Top” button.

See the Pen Page Scroll Progress Bars.

Vertical Full-Screen Slider with 4 Controls

Vertical Full-Screen Slider with 4 Controls

A high-performance, fluid, and responsive slider rich in interactivity, where motions are synchronized with user actions to create a “weighted,” physically tangible interface feel.

Page Indicator Animation

Page Indicator Animation

A full vertical slider with scroll-snap points. The navigation indicator is dynamically animated using the Intersection Observer API, which tracks when a slide enters the viewport.

See the Pen Page Indicator Animation.

Codepen Challenge: Article Details

Codepen Challenge: Article Details

This demo uses the JavaScript IntersectionObserver API to create a smart-scrolling navigation that appears on scroll and highlights the active section, all without performance-heavy event listeners.