🐭 A tiny 250b scroll listener with progress.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
demo Update demo with instance removal. Jan 15, 2019
.gitignore Initial commit! Jan 10, 2019


Update On Scroll (uos)

npm version gzip size license dependencies

Update On Scroll (uos) is a 250b library to provide the easiest way for updating values on scroll. Based on percentual or pixel based begin and end values, progress is returned trough a callback.

This utility can be useful for CSS animations, DOM changes, WebGL transitions or anything that can be updated based on a progress value.


  • Small in size, no dependencies
  • Percentage or pixel based values
  • Optimized for multiple instances


$ npm install --save uos


Import the library:

import updateOnScroll from 'uos';

Update an element based on pixels:

updateOnScroll(100, 500, progress => {
  // Progress between 100px and 500px

Update an element based on percentages:

updateOnScroll(0.2, 0.6, progress => {
  // Progress between 20% and 60%

Only a single scroll listener will be used regardless of how many instances are created. The callback of an instance will be called on every update.


MIT © Colin van Eenige