控制盘事件javascript提供不一致的值

控制盘事件javascript提供不一致的值,javascript,mousewheel,touchpad,Javascript,Mousewheel,Touchpad,我正在研究html/javascript/css的缩放功能 我在我的div标签上附加了一个wheel事件侦听器 和console.log(event.wheelDelta) 它与鼠标配合得很好。console.log为放大提供120的正倍数,否则为负倍数 问题在于触摸板 在放大手势上,它不会给出一致的值。中间有一些-120。因此,缩放非常粗糙。 如何实现平滑缩放或如何使用touchpad获得一致的wheelDelta值事件。wheelDelta不是在每个浏览器中都定义的,已弃用,并且不应再使

我正在研究html/javascript/css的缩放功能
我在我的
div
标签上附加了一个
wheel
事件侦听器 和
console.log(event.wheelDelta)

它与鼠标配合得很好。
console.log
为放大提供120的正倍数,否则为负倍数

问题在于触摸板

在放大手势上,它不会给出一致的值。中间有一些
-120
。因此,缩放非常粗糙。

如何实现平滑缩放或如何使用touchpad获得一致的
wheelDelta
事件。wheelDelta
不是在每个浏览器中都定义的,已弃用,并且不应再使用。您可以使用值
event.deltaX
event.deltaY
。有关更多信息,请参阅

我在Google Chrome和Mozilla Firefox中测试了以下代码。这些值非常不同。Google Chrome总是以
事件的形式返回。deltaY
100
-100
。在Mozilla Firefox中,它总是返回值
3
-3

document.addEventListener('wheel', function(event) {
    console.log(event.deltaX, event.deltaY);
});
我不会依赖于控制盘值,而是听滚动事件,如下所述:


event.wheelDelta
不是在每个浏览器中都定义的,已弃用,并且不应再根据使用。您可以使用值
event.deltaX
event.deltaY
。有关更多信息,请参阅

我在Google Chrome和Mozilla Firefox中测试了以下代码。这些值非常不同。Google Chrome总是以
事件的形式返回。deltaY
100
-100
。在Mozilla Firefox中,它总是返回值
3
-3

document.addEventListener('wheel', function(event) {
    console.log(event.deltaX, event.deltaY);
});
我不会依赖于控制盘值,而是听滚动事件,如下所述:


使用
event.wheelDeltaY
event.deltaY

console.log(event.wheelDeltaY)
用于鼠标:

对于触摸板:

它给出的不是-120,而是0-wheelDelta中出现的120实际上是水平滚动的结果(
wheelDeltaX
)(当您尝试使用触摸板放大时,可能也会有轻微的水平移动)

当其为0时不要缩放,您将获得一致的平滑缩放

使用
event.wheelDeltaY
event.deltaY

var Scale = 1; document.addEventListener("wheel",function(e){ if(e.wheelDelta>0) Scale+=0.01; else Scale-=0.01; // use Scale variable .... e.preventDefault(); });
console.log(event.wheelDeltaY)
用于鼠标:

对于触摸板:

它给出的不是-120,而是0-wheelDelta中出现的120实际上是水平滚动的结果(
wheelDeltaX
)(当您尝试使用触摸板放大时,可能也会有轻微的水平移动)
当其为0时不要缩放,您将获得一致的平滑缩放

var Scale = 1; document.addEventListener("wheel",function(e){ if(e.wheelDelta>0) Scale+=0.01; else Scale-=0.01; // use Scale variable .... e.preventDefault(); }); var量表=1; 文件.附录列表(“轮子”,功能(e){ 如果(e.wheelDelta>0)标度+=0.01; 其他比例-=0.01; //使用比例变量。。。。 e、 预防默认值(); }); var量表=1; 文件.附录列表(“轮子”,功能(e){ 如果(e.wheelDelta>0)标度+=0.01; 其他比例-=0.01; //使用比例变量。。。。 e、 预防默认值(); });
可能在显示前添加短超时?可能在显示前添加短超时?