Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 鼠标滚轮按下事件在网站上滚动多少像素?_Javascript_Jquery_Events_Javascript Events_Mouseevent - Fatal编程技术网

Javascript 鼠标滚轮按下事件在网站上滚动多少像素?

Javascript 鼠标滚轮按下事件在网站上滚动多少像素?,javascript,jquery,events,javascript-events,mouseevent,Javascript,Jquery,Events,Javascript Events,Mouseevent,我正在写一个自定义滚动条,正在捕捉鼠标滚轮事件。我用它来调整我想要滚动的元素的滚动顶部 是否有向下滚动的标准像素数,或者不同系统的像素数不同 我在最新版本的Firefox中展示了114px: 许多鼠标驱动程序允许您设置鼠标滚轮滚动的距离,因此没有标准距离。我会尝试一下你的代码,选择一个距离,让你整天滚动,但不会在每次滚动时跳一英里。你需要“感受”它。让朋友给出反馈,这有助于让几只手触摸这种东西。你需要在滚动之前存储当前滚动位置,然后当你检测到滚动时,获得我认为的移动距离。我们可以使用javasc

我正在写一个自定义滚动条,正在捕捉鼠标滚轮事件。我用它来调整我想要滚动的元素的滚动顶部

是否有向下滚动的标准像素数,或者不同系统的像素数不同

我在最新版本的Firefox中展示了114px:


许多鼠标驱动程序允许您设置鼠标滚轮滚动的距离,因此没有标准距离。我会尝试一下你的代码,选择一个距离,让你整天滚动,但不会在每次滚动时跳一英里。你需要“感受”它。让朋友给出反馈,这有助于让几只手触摸这种东西。

你需要在滚动之前存储当前滚动位置,然后当你检测到滚动时,获得我认为的移动距离。

我们可以使用javascript控制。 请参阅下面的链接。我希望它能帮助你


对于Firefox,您有
MozMousePixelScroll
事件,该事件报告应在
e.detail
中滚动的像素数

window.addEventListener('MozMousePixelScroll', function(e) {
    console.log(e.detail);
});
对于许多其他浏览器,您有报告
e.wheelDeltaY
mouseweel
事件,但它们不是以像素为单位的,您必须猜测要滚动的数量

还可以看到SproutCore如何在自己的框架中处理滚动(他们也在编写自己的滚动视图):

通常,每个鼠标滚轮“勾号”对应一些可配置(由用户)的像素数

例如,在Windows中,每次鼠标滚轮单击滚动的距离应该是
系统参数信息(SPI\u GETWHEELSCROLLLINES,…)
参数


你可以找到关于这个主题的更多信息。

我注意到,在谷歌Chrome中,即每鼠标滚动100px

有并且看起来你已经将它设置为5px*鼠标滚轮事件的增量值。我不认为鼠标驱动程序本身对“鼠标滚轮滚动的距离”负责。每个鼠标滚轮事件都会报告滚轮旋转的角度。将
WM_mouseweel
转换为
WM_VSCROLL
是驱动程序顶部GUI子系统的一项功能。我认为@Kirk试图确定以像素为单位滚动的距离,而不是滚轮转动的距离。在我的PC上,同样使用Chrome(Ubuntu12.04 LTS)。这里也是53px(Ubuntu14.04)。100px,正如答案所述——环境:谷歌Chrome87.0(2020年)、Windows71080p4px在A4Tech N-320和OSX Catalina上