10 Best Scrollspy Plugins In JavaScript (2023 Update)

by jQueryScript,

Suppose you have a long web page or single page web app, you might need a scrollspy plugin to track the scroll position and indicate which content section your visitors are viewing on.

What Is Scrollspy?

Scrollspy is a technique widely used in modern web design that keeps track of scroll events in a scrollable container or the whole document and triggers certain functions on specified elements based on the scroll position.

A typical use of scrollspy is to automatically update items in header navigation or table of contents based on the scroll position you visitors scroll to.

The Best Scrollspy Plugin

To provide a better one page scroll experience on your long webpage, you shouldn't miss the 10 best jQuery and Vanilla JavaScript scrollspy plugins that can be used to keep track of what elements currently are on the screen. Enjoy.

Originally Published Aug 27 2020, updated Mar 20 2023

Table of contents:

Best jQuery Scrollspy Plugins

Highlight Active Menu Item Based On Scroll Position - ScrollSpy

A super tiny (less than 1kb) jQuery scrollspy plugin to highlight active menu items in the navigation based on the scroll position of the corresponding content within a container or the whole document.

Highlight Active Menu Item Based On Scroll Position - ScrollSpy

[Demo] [Download]


Minimal Scrollspy And Smooth Scroll Plugin - jQuery Click-scroll

The jQuery Click-scroll plugin lets you create a site navigation that enables the user to scroll through different page sections with smooth scroll and scrollspy functionalities.

Minimal Scrollspy And Smooth Scroll Plugin - jQuery Click-scroll

[Demo] [Download]


jQuery/CSS Sticky Header Navigation With Scrollspy Functionality

A jQuery and CSS/CSS3 based header navigation that will be fixed on the top of the page and auto highlight the current menu item when you scroll past its content section. Also provides a functionality to smoothly scroll the webpage to target content sections by clicking on the navigation menu. Fully responsive powered by CSS3 flexbox model.

jQuery/CSS Sticky Header Navigation With Scrollspy Functionality

[Demo] [Download]


Sticky Navigation With Smooth Scroll And Scroll Spy - jQuery sticky-nav

A multi-purpose jQuery site navigation plugin to create a sticky navigation with smooth scroll and scroll spy functionalities for your single page web application.

Sticky Navigation With Smooth Scroll And Scroll Spy - jQuery sticky-nav

[Demo] [Download]


Navigation ScrollSpy & Smooth Scroll Plugin - nav-scroll-spy.js

A small yet useful jQuery scrollspy and smooth scroll plugin for site navigation that allows you to highlight the active item in the menu and smoothly scroll through the webpage.

Navigation ScrollSpy & Smooth Scroll Plugin - nav-scroll-spy.js

[Demo] [Download]


Best vanilla JS Scrollspy Plugins

Small Scrollspy Script In Vanilla JavaScript – gumshoe

A lightweight (3kb minified) JavaScript scrollspy library that automatically highlights nav links to indicate the currently active section in the viewport.

Small Scrollspy Script In Vanilla JavaScript – gumshoe

[Demo] [Download]


Highlight Active Menu Item On Page Scroll – MenuSpy.js

A multi-purpose JavaScript library for your one page scrolling website that highlights the menu item relative to the currently visible section.

Highlight Active Menu Item On Page Scroll – MenuSpy.js

[Demo] [Download]


Highlight Active Menu Based On The Scroll Position – active-menu-link

A pure JavaScript smooth scroll & scrollspy library which highlights the active menu item based on the scroll position.

Highlight Active Menu Based On The Scroll Position – active-menu-link

[Demo] [Download]


Sticky Navigation With ScrollSpy Using Intersection Observer API

This is a sticky on-page navigation (a.k.a table of contents) that automatically highlights the active menu items based on the visibility of their corresponding content sections within the document.

Sticky Navigation With ScrollSpy Using Intersection Observer API

[Demo] [Download]


Update Navigation Items Based On Scroll Position – ScrollSpy.js

A small pure JavaScript scrollspy library that automatically highlights navigation items based upon scroll position to indicate which content section is currently active in the viewport.

Update Navigation Items Based On Scroll Position – ScrollSpy.js

[Demo] [Download]


More Resources:

Looking for more jQuery plugins or JavaScript libraries to implement the Scrollspy functionality on the web & mobile? See jQuery Scrollspy and JavaScript Scrollspy for more details.

See Also: