active-menu-link
Highlight Active Menu Based On The Scroll Position
A pure JavaScript smooth scroll & scrollspy library which highlights the active menu item based on the scroll position.
A typical use of this library is to create a sticky header navigation for your single page app that allows the user to smoothly scroll through page sections while highlighting the active menu item.
Example
Installation
yarn add active-menu-link# OR npm install active-menu-link
Usage
HTML
First Second Third First Second Third
JavaScript
; // Not necessary.let options = activeClass: "active"; ".navbar" options;
Options
Supported Options
Name | Type | Default | Description |
---|---|---|---|
itemTag | String |
li | Selector to which the active class will be applied |
activeClass | String |
active | Active class name |
scrollOffset | Number |
0 | Scroll offset |
scrollDuration | Number |
500 | Scroll duration in milliseconds |
ease | String |
out-circ | Scroll animation (view ease for more) |
headerHeight | Number |
null | Navbar height. If null, height calculate automatic |
default | String |
null | If the scroll is not in one of the active sections, the default link will be active |
showHash | Boolean |
true | Show hash in address bar |
Default option example
HTML
Default First Second Third First Second Third
JavaScript
; let options = default: "default"; ".navbar" options;
Building
git clone https://git@github.com/Kosalexei/active-menu-link.gitcd active-menu-linknpm installnpm run build #Compiled .js file go to the dist folder.