我正在编写自定义滚动条并正在捕捉鼠标滚轮事件。我正在使用它然后调整我想要滚动的元素的scrollTop。
是否有标准数量的像素向下滚动,或者是否因系统而异?
我在最新版本的Firefox中显示了114px:
答案 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控制。 请参阅以下链接。我希望它会对你有所帮助。
答案 5 :(得分:0)
通常每个鼠标滚轮“tick”对应一些可配置的(按用户)像素数。
在Windows中,例如每个鼠标滚动滚动的距离应该是一个函数
SystemParametersInfo( SPI_GETWHEELSCROLLLINES, ...)
参数。
Here您可以找到有关此主题的更多信息。