最近在写图形方面的代码,如下:
- function mousewheel(e) {
-
- let dy = (e.wheelDeltaY || - e.deltaY) / 1000;
- zui.zoomBy(dy, e.clientX, e.clientY);
- }
使用的是two.js还有自己的zui.js,这串代码研究了好小半个早上,终于知道这么写的原因了。
let dy = (e.wheelDeltaY || - e.deltaY) / 1000;
因为要兼容浏览器,所以才写成
e.wheelDeltaY || - e.deltaY
部分浏览器这个e.wheelDeltaY值是没有的可能是null,部分浏览器e.deltaY这个值是没有的可能是null,所以使用上面这种方式,使得总有放缩值存在。而/1000是放缩的大小,这样这个dy的值就会在1以下了,然后zui.zoomBy放缩起来就不会那么突兀了。