JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 177991
  • Score
    100M100P100Q151632F
  • License MIT

Disable the document's scrolling

Package Exports

  • no-scroll

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (no-scroll) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

no-scroll

Disable the document's scrolling.

It's silly how many libraries have their own implementation of this. So I thought I'd make a module that other libraries could use.

Here's how this works:

  • When you turn it on(), the document.body is styled with overflow: hidden and a padding-right that mimics the width of the scrollbar.
  • When you turn it off(), everything goes back to the way it was before.

Installation

npm install no-scroll

Dependencies: none.

But your build process will need to handle CommonJS.

Usage

This module exposes two simple functions: on() and off().

var noScroll = require('no-scroll');

// To turn off the document's scrolling
noScroll.on();

// To restore scrolling
noScroll.off();

Caveats

I have not yet figured out or found an ideal way of stopping scrolling on touch devices. (The common practice of e.preventDefault() on touchmove events is too obstructive, at least for a library; for example, it disables scrolling of any element, not just the document.) Any big ideas? Please PR?

Browser Support

IE9+ Not touchscreens :(