scroll lock the body and remember the position
npm install scroll-lock-body-2




Minimal code to enable scroll lock on the body element.
This uses the approach from Bootstrap modal components where the body width is contained.
It has been tested on
- Phones (iOS, Android)
- Tablets (iPadOS, Android)
- Laptops (Mac, Windows)
- Modern browsers
It updates when the devices rotates and if the height changes on interaction.
| !Chrome | !Safari | !Firefox |
| ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------- |
| 60+ | 12+ | 60+ |
An alternate version with same API exists with some required CSS setup
https://github.com/kunukn/scroll-lock-body
| Codesandbox React | View | Edit | |
| Codesandbox Vue | View | Edit | |
| Codepen VanillaJS | View | Edit | |
| Codesandbox VanillaJS | View | Edit |
This library is published in the NPM registry and can be installed using any compatible package manager.
``sh
yarn add scroll-lock-body-2
$3
`js
import {
enableScrollLock,
disableScrollLock,
isScrollLockEnabled,
getScrollbarWidth,
} from 'scroll-lock-body-2'// Run this to lock the body scroll
enableScrollLock()
// Run this to unlock the body scroll
disableScrollLock()
// Run this to get the lock state
isScrollLockEnabled() // returns true or false
// Run this to get the width of the body scrollbar
getScrollbarWidth() // returns a number
`$3
This module has an UMD bundle available through JSDelivr and Unpkg CDNs.
`html
``https://unpkg.com/scroll-lock-body-2/
Documentation generated from source files by Typedoc.
Released under MIT License.