Smooth scrolling on pages using javascript

These are versions of this script where the code was updated. Show all versions.

  • v12 2024-01-18
  • v11 2024-01-18
  • v10.1 2021-08-28

    UPDATE (28.8.2021):

    Stopped using scrollBy for now because it messes up some pages scroll badly.

  • v10.0 2021-05-16
  • v9.6 2019-05-26 Fix for pages with "scroll-behavior: smooth;".
  • v9.5 2019-05-19 Added support for different e.deltaMode (pixel, line, page -scrolling handled correctly now).
  • v9.3 2019-05-19 Switched to more standardized "wheel" event:
  • v9.2 2019-05-19 Hotfix for event binding (again for firefox).
  • v9.2 2019-05-19 Another attempt to fixing firefox support.
  • v9.1 2019-05-19 Potential fix for Firefox where scroll was missing e.path property.
  • v9.0 2019-05-18 Changed from timer based animations, to requested animation frames (much much smoother and better overall, with automatic fps scaling)
  • v8.1 2018-09-19 Added additional check for "is body scrollable"?
  • v8 2018-09-14 Possible fix for wrong body/html scrollable detection.
  • v7 2018-09-11 Turned off debug.
  • v7 2018-09-06 Further simplified scrollbar and scroll detection (hopefully final)
  • v6 2018-09-06 Fixed some scroll problems with html/body elements, simplified scroll limit detection.
  • v5.5 2018-03-17
  • v5.4 2018-03-10 Small fixes.
  • v5.2 2018-03-08 Added possibility to require as node.js script and exposed window.Smoothscroll object.
  • v5.1 2018-03-08 Renamed variables and did some cleanup.
  • v5.0 2018-03-08 Completely rewrote from scratch. Should be much more reliable and responsive now. Settings removed for now though. (edit settings inside script if you need)
  • v3.1 2018-03-05
  • v3.0 2017-12-08 Slightly improved scrolling animation and fps handling.
  • v2.9 2017-08-17 Minor tweaks and code cleanup.
  • v2.8.1 2017-08-05 Quickfix.
  • v2.8 2017-08-05 Reworked animation.
  • v2.7 2017-07-27 Experimental update. Might be final version if no problems occur.
  • v2.6 2016-12-17 Small change to dynamicfps scaling.
  • v2.5.2 2016-12-12 Minor smoothness change to default values.
  • v2.5.1 2016-12-12 Quickfix.
  • v2.5 2016-12-12 Added new kind of dynamicfps, script will run at lower fps if there is framedelay between animations.
  • v2.4.2 2016-11-23 Quickfix.
  • v2.4.1 2016-11-23 Tweaked some default values and setting scale.
  • v2.4 2016-11-23 Updated scroll logic. !!!CHECK YOUR CONFIGS AND RESET EVERYTHING TO DEFAULTS!!!
  • v2.3 2016-11-06 Decreased possible conflicts and unwished scrolls when webpages change scroll themselves.
  • v2.2 2016-11-01
  • v2.2 2016-11-01 Code cleanup. (Now that jQuery is gone, scroll is much better and much less cpu intensive)
  • v2.1 2016-11-01 Scroll should now be about the same as before.
  • v2.0.1 2016-11-01 Slight change to new scroll animation.
  • v2.0 2016-11-01 Removed jQuery.
  • v1.3 2016-10-28 Updated to use internal jQuery data instead of writing directly into DOM elements. (Should be a lot less cpu intensive and more smooth now)
  • v1.2 2016-10-27 Some optimizing.
  • v1.1.1 2016-10-06 Small fixes and performance improvements
  • v1.1.0 2016-10-06 Some bugfixing (hopefully)
  • v1.0.9.2 2016-07-19 removed config loading and config menu for now (some weird problems)
  • v1.0.9.1 2016-07-17 small mistake whoops
  • v1.0.9 2016-07-17 kinda experimental update, aimed to make smoother scroll by adjusting fps better
  • v1.0.8.5 2016-07-04 Small hotfix + changes to default values.
  • v1.0.8 2016-07-04 Improved fps and reduced some scroll lag.
  • v1.0.7 2016-06-19

Show all script versions