newerton/jquery-mousewheel

一个jQuery插件,为浏览器添加跨平台的鼠标滚轮支持。

安装次数: 29,444

依赖项: 0

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 1,757

语言:JavaScript

dev-master 2022-05-25 21:42 UTC

This package is auto-updated.

Last update: 2023-07-26 00:04:59 UTC


README

一个jQuery插件,通过delta normalization添加跨浏览器的鼠标滚轮支持。

要使用此插件,只需将mousewheel事件绑定到元素上。

它还提供了两个辅助方法,称为mousewheelunmousewheel,它们的作用类似于jQuery中的其他事件辅助方法。

事件对象通过更新的deltaXdeltaY属性。此外,事件对象上还有一个新属性,称为deltaFactor。将deltaFactor乘以deltaXdeltaY,即可得到浏览器报告的滚动距离。

以下是一个使用绑定和辅助方法语法的示例

// 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);
});

现在已弃用向事件处理程序添加三个参数(deltadeltaXdeltaY)的老行为,并将在未来版本中删除。

Delta...

浏览器、操作系统和设备的组合提供了大量的可能的delta值。实际上,如果用户先使用触控板然后使用物理鼠标滚轮,delta值可能会相差很大。此插件将这些值标准化,以便您从+-1开始,根据使用的力量或加速度以+-1的增量递增。这个数字可能根据设备而在数千之间。请查看一些用户收集的数据在这里

获取滚动距离

在某些用例中,我们更喜欢有正常的delta,但在其他用例中,我们想知道根据用户输入,浏览器应该滚动多远。这可以通过将deltaFactor乘以deltaXdeltaY事件属性来找到浏览器报告的滚动距离。

deltaFactor属性是在3.1.5版本中添加到事件对象上的,以便可以提取实际报告的delta值。这是一个非标准属性。

查看实际效果

查看GitHub上的测试.

使用Browserify

内置对browserify的支持。

npm install jquery-mousewheel
npm install jquery-browserify

在您的服务器端node.js代码中

var express = require('express');
var app = express.createServer();

app.use(require('browserify')({
    require : [ 'jquery-browserify', 'jquery-mousewheel' ]
}));

在您的浏览器端javascript中

var $ = require('jquery-browserify');
require('jquery-mousewheel')($);

许可证

此插件受MIT许可证许可。

版权所有 (c) 2013 Brandon Aaron