Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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 element.scrollBy不会滚动给定距离_Javascript_Scroll - Fatal编程技术网

javascript element.scrollBy不会滚动给定距离

javascript element.scrollBy不会滚动给定距离,javascript,scroll,Javascript,Scroll,当我在chrome(87)中使用element.scrollBy(x,y)时,elements视口滚动位置(element.scrollTop)实际上不会滚动预期的值,而是作为scrollBy()的参数提供 差异始终在0.1到0.5 px之间,并且对于不同的参数值是不同的 我测试了1-30之间的数值,显示比率为1.75: 1) actual:0.57, diff:0.43 2) actual:1.71, diff:0.29 3) actual:2.86, diff:0.14 4) act

当我在chrome(87)中使用element.scrollBy(x,y)时,elements视口滚动位置(element.scrollTop)实际上不会滚动预期的值,而是作为scrollBy()的参数提供

差异始终在0.1到0.5 px之间,并且对于不同的参数值是不同的

我测试了1-30之间的数值,显示比率为1.75:

 1) actual:0.57, diff:0.43
 2) actual:1.71, diff:0.29
 3) actual:2.86, diff:0.14
 4) actual:4.00, diff:-0.00
 5) actual:4.57, diff:0.43
 6) actual:5.71, diff:0.29
 7) actual:6.86, diff:0.14
 8) actual:8.00, diff:0.00
 9) actual:8.57, diff:0.43
 10) actual:9.71, diff:0.29
 11) actual:10.86, diff:0.14
 12) actual:12.00, diff:-0.00
 13) actual:12.57, diff:0.43
 14) actual:13.71, diff:0.29
 15) actual:14.86, diff:0.14
 16) actual:16.00, diff:0.00
 17) actual:16.57, diff:0.43
 18) actual:17.71, diff:0.29
 19) actual:18.86, diff:0.14
 20) actual:20.00, diff:0.00
 21) actual:20.57, diff:0.43
 22) actual:21.71, diff:0.29
 23) actual:22.86, diff:0.14
 24) actual:24.00, diff:0.00
 25) actual:24.57, diff:0.43
 26) actual:25.71, diff:0.29
 27) actual:26.86, diff:0.14
 28) actual:28.00, diff:0.00
 29) actual:28.57, diff:0.43
有4个值按以下顺序重复:0.00,0.43,0.29,0.14

我弄不懂这是什么原因。我唯一发现的是element.scrollTop和这些函数可以返回分数,而不仅仅是整数,这与highDPI显示有一定关系

这对我来说是一个问题,因为我实现了一个鼠标拖动滚动功能,它将鼠标移动事件转换为滚动移动,并且移动值通常很小,这意味着相对于鼠标速度而言,错误相当大,并且视口的滚动比不是1:1

Firefox没有这个问题

我错过了什么

JSFiddle: