10 Best Scrollspy Plugins In JavaScript (2021 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 Sep 16 2021

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]


Smooth Scroll Plugin For Bootstrap Scrollspy Component - smoothScroll.js

A tiny jQuery plugin that adds the Smooth Scroll functionality to the native Bootstrap 4 scrollspy component. Based on jQuery's animate() method.

Smooth Scroll Plugin For Bootstrap Scrollspy Component - smoothScroll.js

[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]


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]


Easy Scrollspy Navigation In jQuery - scrollspy.js

An easy yet fully customizable jQuery scrollspy navigation plugin that highlights active links of your site navigation as the user scrolls to the corresponding section.

Easy Scrollspy Navigation In jQuery - scrollspy.js

[Demo] [Download]


Best vanilla JS Scrollspy Plugins

Scrollspy & Smooth Scroll Library – scrollspy.js

A lightweight pure JavaScript scrollspy library that enables the navigation links to smoothly scroll between page sections with scrollspy support.

Scrollspy & Smooth Scroll Library – scrollspy.js

[Demo] [Download]


Highlight Active Menu Item On Page Scroll – MenuSpy.js

MenuSpy.js is 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]


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]


Simple ScrollSpy Plugin With Pure JavaScript

A simple, lightweight JavaScript library that applies the Scrollspy functionality to one-page scrolling website.

Simple ScrollSpy Plugin With Pure JavaScript

[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.