🛴 Lightweight (< 1.5KB) scrollend polyfill for browsers, enabling 'scrollend' via add/removeEventListener and 'onscrollend' property for fast, reliable scroll detection. ⛸️
npm install @igorskyflyer/scrollend-polyfill
Spec-Faithful • Scrollend Event • Type-Safe • Cross-Browser
- Features
- Usage
- CDN
- Local
- API
- Examples
- Changelog
- Support
- License
- Related
- Author
- ✨ Fires scrollend event reliably
- 🌍 Works across browsers and devices
- ⚡ Lightweight (< 1.5KB minified)
- 🧩 Type-safe for strong typings
- 🛡 Safe native-like behavior
- 🎯 Supports once and bubbling
- 🔧 Easy drop-in usage
- 📦 Ready for production builds
- 🔍 Debug-friendly and reversible
- 🕹 Compatible with window, document and onscrollend property
There are two ways of obtaining the polyfill:
- via a CDN (recommended)
- via a local file.
The polyfill is hosted on jsDelivr and you can grab it from here:
https://cdn.jsdelivr.net/npm/@igorskyflyer/scrollend-polyfill@1.3.0/dist/scrollend.min.js
then add it to your HTML file:
index.html
``html`
integrity="sha256-P1Q7nRQI+8DpWPufXZGwsmwkY/uYGwA0TIFLO7m0kI4"
crossorigin="anonymous">
> ### ℹ️ NOTE
>
> #### CSP (Content Security Policy)
>
> If you use CSP (which you really should) you need to add the above SHA-256 hash to the allowed script sources.
>
---
Install it by executing any of the following, depending on your preferred package manager:
`bash`
pnpm add @igorskyflyer/scrollend-polyfill
`bash`
yarn add @igorskyflyer/scrollend-polyfill
`bash`
npm i @igorskyflyer/scrollend-polyfill
Then import it into your project, e.g. an HTML page via the
`
but if you don't like messing with that long path just copy the "./node_modules/@igorskyflyer/scrollend-polyfill/dist/scrollend.min.js" file to a directory of your liking and then update the reference to it, i.e.
`html`
This polyfill adds the scrollend Event for the window and document objects and the onscrollend property.
`js
window.addEventListener('scrollend', myHandler)
document.addEventListener('scrollend', myHandler)
window.onscrollend = myHandler
document.onscrollend = myHandler
`
scroll-end.html`html
``
📑 Read about the latest changes in the CHANGELOG.
Licensed under the MIT license.
@igorskyflyer/adblock-filter-counter
> _🐲 A lightweight npm module for counting ad-block filter rules, ultra-simple, fast, and perfect for list maintainers, filter testers, and privacy tool developers.🦘_
> _💬 Emojifies strings, converting textual representations of emojis to graphical ones. 🖌️_
> _🧮 Calculates an estimated file size of Mp3 files. 🎶_
> _🍃 Determines whether a path is a legacy Windows device. 💾_
> _🐸 Checks if a directory is a local Git repository. 🕶️_