使用鼠标滚轮事件在网站上滚动了多少像素?
我正在编写自定义滚动条并正在捕捉鼠标滚轮事件。 我正在使用它然后调整我要滚动的元素的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控制。 请参阅以下链接。 我希望它会对你有所帮助。
通常,每个鼠标滚轮“tick”对应于一些可配置(按用户)像素数。
在Windows中,例如每个鼠标滚轮滚动的距离应该是SystemParametersInfo( SPI_GETWHEELSCROLLLINES, ...)
参数的函数。
在这里,您可以找到有关该主题的更多信息。