![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
edge-scroll
Advanced tools
Configurable edge scrolling for web pages.
Scrolls the page when the cursor goes near the edges of the window.
Include edge-scroll.js
or edge-scroll.min.js
on your web page in a <script>
tag, then in
your main JavaScript file, call EdgeScroll
passing the radius from the edges to start scrolling
at and the maximum scrolling speed (in pixels per second).
var edgeScroll = new EdgeScroll(100, 800);
Include edge-scroll-auto.js
or edge-scroll-auto.min.js
in a script tag on your web page
to use default values of 100 pixel radius and 750 pixel per second speed.
No further steps are necessary.
Install:
npm install edge-scroll
In main JS file:
import EdgeScroll from 'edge-scroll'
const edgeScroll = new EdgeScroll(120, 750)
The EdgeScroll object has some methods you may find useful
onScroll(Function handler)
adds an event listener to listen for scroll eventsoffScroll(Function handler)
removes a previously added event listenerThe handlers are called with the following arguments:
var edgeScroll = new EdgeScroll(80, 750);
edgeScroll.onScroll(function (scrollX, scrollY, innerWidth, innerHeight) {
console.log(scrollX);
console.log(scrollY);
console.log(innerWidth);
console.log(innerHeight);
});
The reason to use EdgeScroll handlers rather than just using addEventListener('scroll')
is
to prevent layout thrashing: all those properties are cached on the EdgeScroll object once per
animation frame so the browser doesn't have to do a reflow to access them.
You can access them at any time, but the handlers give them to you every time the page scrolls.
var edgeScroll = new EdgeScroll(100, 750);
console.log(edgeScroll.scrollX);
console.log(edgeScroll.scrollY);
console.log(edgeScroll.innerWidth);
console.log(edgeScroll.innerHeight);
You can specify deadzones where scrolling should not occur. If you have something in the corner that you'd like to be clickable, without causing the window to scroll while hovering over it for example.
addDeadzone(Element elem)
Adds mouseenter and mouseleave event listeners to prevent scrolling
on the supplied HTML element.removeDeadzone(Element elem)
Removes a previously added deadzonevar edgeScroll = new EdgeScroll(100, 750);
edgeScroll.addDeadZone(document.getElementById('corner-widget'))
FAQs
Edge scrolling for web pages
We found that edge-scroll demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.