anchor-scroller icon indicating copy to clipboard operation
anchor-scroller copied to clipboard

⚓️ Smoothly scroll to #anchors

anchor-scroller

⚓️ Smoothly scroll to #anchors

Features

  • ... Scrolls to anchors
  • Stops scrolling if the user scrolls
  • Doesn't try to scroll past the end
  • It's only 1.5kb in size (900 bytes gzipped 😆)
  • Uses requestAnimationFrame for smooth animation

Quickstart

Node with a module bundler

npm install anchor-scroller --save
const AnchorScroller = require("anchor-scroller");
AnchorScroller();

Browser

<script src="https://unpkg.com/[email protected]/distribution/AnchorScroller.js"></script>
<script>AnchorScroller()</script>

Check out the wiki for more info.

Configuration

You can pass the instance an options object to tweak it's behavior. The simplest options are class and checkParent.

AnchorScroller({
  "class": "scroll", // will make it only react on elements with a "scroll" class.
  checkParent: true // will make it check the parent element, if the clicked element didn't match the criteria.
});

The more in-depth usage guide also has documentation on all options and methods.