PHPackages                             newerton/jquery-mousewheel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. newerton/jquery-mousewheel

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

newerton/jquery-mousewheel
==========================

A jQuery plugin that adds cross-browser mouse wheel support.

241.3k—7.9%2JavaScriptCI passing

Since May 25Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/newerton/jquery-mousewheel)[ Packagist](https://packagist.org/packages/newerton/jquery-mousewheel)[ RSS](/packages/newerton-jquery-mousewheel/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

jQuery Mouse Wheel Plugin
=========================

[](#jquery-mouse-wheel-plugin)

A [jQuery](http://jquery.com/) plugin that adds cross-browser mouse wheel support with delta normalization.

In order to use the plugin, simply bind the `mousewheel` event to an element.

It also provides two helper methods called `mousewheel` and `unmousewheel`that act just like other event helper methods in jQuery.

The event object is updated with the normalized `deltaX` and `deltaY` properties. In addition there is a new property on the event object called `deltaFactor`. Multiply the `deltaFactor` by `deltaX` or `deltaY` to get the scroll distance that the browser has reported.

Here is an example of using both the bind and helper method syntax:

```
// using on
$('#my_elem').on('mousewheel', function(event) {
    console.log(event.deltaX, event.deltaY, event.deltaFactor);
});

// using the event helper
$('#my_elem').mousewheel(function(event) {
    console.log(event.deltaX, event.deltaY, event.deltaFactor);
});
```

The old behavior of adding three arguments (`delta`, `deltaX`, and `deltaY`) to the event handler is now deprecated and will be removed in later releases.

The Deltas...
-------------

[](#the-deltas)

The combination of browsers, operating systems, and devices offer a huge range of possible delta values. In fact if the user uses a trackpad and then a physical mouse wheel the delta values can differ wildly. This plugin normalizes those values so you get a whole number starting at +-1 and going up in increments of +-1 according to the force or acceleration that is used. This number has the potential to be in the thousands depending on the device. Check out some of the data collected from users [here](http://mousewheeldatacollector.herokuapp.com/).

### Getting the scroll distance

[](#getting-the-scroll-distance)

In some use-cases we prefer to have the normalized delta but in others we want to know how far the browser should scroll based on the users input. This can be done by multiplying the `deltaFactor` by the `deltaX` or `deltaY`event property to find the scroll distance the browser reported.

The `deltaFactor` property was added to the event object in 3.1.5 so that the actual reported delta value can be extracted. This is a non-standard property.

Building the code in the repo
-----------------------------

[](#building-the-code-in-the-repo)

```
$ git clone git@github.com:jquery/jquery-mousewheel.git
$ cd jquery-mousewheel/
$ npm install
$ npm run build
$ npm run karma
```

The unit tests run by karma are *very* basic sanity checks; improvements welcome. To fully test the plugin, load [test/index.html](test/index.html) in each supported browser and follow the instructions at the top of the file after the unit tests finish.

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance59

Moderate activity, may be stable

Popularity32

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity26

Early-stage or recently created project

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/85c174c2da14b9d38c4b4b43879f379be5fbc0bb28c2e3e47d63007555eb8509?d=identicon)[newerton](/maintainers/newerton)

---

Top Contributors

[![brandonaaron](https://avatars.githubusercontent.com/u/13718?v=4)](https://github.com/brandonaaron "brandonaaron (106 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (35 commits)")[![XhmikosR](https://avatars.githubusercontent.com/u/349621?v=4)](https://github.com/XhmikosR "XhmikosR (28 commits)")[![dmethvin](https://avatars.githubusercontent.com/u/157858?v=4)](https://github.com/dmethvin "dmethvin (17 commits)")[![newerton](https://avatars.githubusercontent.com/u/4175945?v=4)](https://github.com/newerton "newerton (15 commits)")[![mgol](https://avatars.githubusercontent.com/u/1758366?v=4)](https://github.com/mgol "mgol (2 commits)")[![scottgonzalez](https://avatars.githubusercontent.com/u/141167?v=4)](https://github.com/scottgonzalez "scottgonzalez (2 commits)")[![newerton-inmetrics](https://avatars.githubusercontent.com/u/139886588?v=4)](https://github.com/newerton-inmetrics "newerton-inmetrics (1 commits)")[![vitch](https://avatars.githubusercontent.com/u/9898?v=4)](https://github.com/vitch "vitch (1 commits)")[![jamesplease](https://avatars.githubusercontent.com/u/2322305?v=4)](https://github.com/jamesplease "jamesplease (1 commits)")[![bowlofeggs](https://avatars.githubusercontent.com/u/354506?v=4)](https://github.com/bowlofeggs "bowlofeggs (1 commits)")[![can3p](https://avatars.githubusercontent.com/u/125821?v=4)](https://github.com/can3p "can3p (1 commits)")[![chriscbrock](https://avatars.githubusercontent.com/u/1761217?v=4)](https://github.com/chriscbrock "chriscbrock (1 commits)")[![EvanHahn](https://avatars.githubusercontent.com/u/777712?v=4)](https://github.com/EvanHahn "EvanHahn (1 commits)")[![adunkman](https://avatars.githubusercontent.com/u/14930?v=4)](https://github.com/adunkman "adunkman (1 commits)")[![kyleguate](https://avatars.githubusercontent.com/u/2439801?v=4)](https://github.com/kyleguate "kyleguate (1 commits)")

### Embed Badge

![Health badge](/badges/newerton-jquery-mousewheel/health.svg)

```
[![Health](https://phpackages.com/badges/newerton-jquery-mousewheel/health.svg)](https://phpackages.com/packages/newerton-jquery-mousewheel)
```

###  Alternatives

[riverskies/laravel-vue-component

Helper package to aid usage of Vue Components within Laravel projects

201.2k](/packages/riverskies-laravel-vue-component)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
