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

时间:2011-10-14 05:12:52

标签: javascript jquery events javascript-events mouseevent

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

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

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

enter image description here

6 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分:3)

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

答案 2 :(得分:2)

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

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

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

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

答案 3 :(得分:1)

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

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

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

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

Here您可以找到有关此主题的更多信息。