// the take
finger-mover is a small JavaScript library for simulating touch-driven motion on mobile web pages — momentum scrolling, 2D scroll, and slide shows — built on two sub-packages: Fingerd for touch event normalization and Moved for the actual animation/easing. It's aimed at devs building custom mobile web UIs (hybrid apps, WeChat mini-programs, that era's mobile-first SPAs) who needed scroll/swipe behavior CSS couldn't give them yet.
Clean separation between touch event handling (Fingerd) and animation (Moved), so each half is independently testable and reusable outside this library. Effects are shipped as separate plugins (simulation-scroll-x/y, slide-x/y, 2d-scroll) rather than one monolith, so you only pull in what you use. Ships as a UMD build at 11.12KB compressed with no required bundler, usable from a plain script tag. Has CI (CircleCI) and coverage reporting wired up, which is more rigor than most libraries this size bother with.
Last commit was September 2018 — seven-plus years with no fixes, so compatibility with current mobile browsers, newer touch event quirks, or passive-listener requirements is unverified. The problem it solves is largely obsolete: CSS scroll-snap, overscroll-behavior, and native momentum scrolling now cover most of what Fingerd/Moved simulate manually, usually with better performance since they're off the JS thread. No TypeScript types, which is a real friction point for adoption in any current codebase. Plugin documentation lives entirely on an external docs site (fmover.hcysun.me) rather than in-repo, so if that site disappears the plugin API reference goes with it.
We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →