使用鼠标滚轮事件在网站上滚动了多少像素?

我正在编写自定义滚动条并正在捕捉鼠标滚轮事件。 我正在使用它然后调整我要滚动的元素的scrollTop。

是否有标准数量的像素向下滚动,或者它是否因系统而异?

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

在此处输入图像描述

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

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

 window.addEventListener('MozMousePixelScroll', function(e) { console.log(e.detail); }); 

对于许多其他浏览器,您有mousewheel e.wheelDeltaY事件报告e.wheelDeltaY ,但它们不是像素,您将不得不猜测要滚动的数量。

另请参阅SproutCore如何在自己的框架中处理滚动(他们也在编写自己的滚动视图): http : //blog.sproutcore.com/scrolling-in-sproutcore/

我注意到在谷歌浏览器中 – 每个鼠标滚动100px

您需要在滚动之前存储当前滚动位置,然后当您检测到滚动时,我会想到行进的距离。

我们可以使用javascript控制。 请参阅以下链接。 我希望它会对你有所帮助。

http://deepport.net/archives/javascript-scrolling/

通常,每个鼠标滚轮“tick”对应于一些可配置(按用户)像素数。

在Windows中,例如每个鼠标滚轮滚动的距离应该是SystemParametersInfo( SPI_GETWHEELSCROLLLINES, ...)参数的函数。

在这里,您可以找到有关该主题的更多信息。