我正在尝试在 d3.js 中创建一些自定义缩放功能。目前缩放是通过单击触发并放大以仅关注被点击的区域。
目前我的代码有一个 function zoom(d)
,它完全符合它的需要。还有一个 var zoomTransition
位于 zoom() 内部,负责大部分功能。不幸的是,我无法分享我的大部分代码。
缩放也需要发生在鼠标滚动上。我遇到的困难是:
.on("wheel", function(d){
zoom(d);
});
忽略滚轮方向。之所以调用 Zoom 只是因为滚轮滚动,无论是向内还是向外。
有什么方法可以访问滚动方向并将其传递给 zoom() 吗?或者有更好的方法来做到这一点?
最佳答案
一直在找这个:
.on("wheel", function(d){
var direction = d3.event.wheelDelta < 0 ? 'down' : 'up';
zoom(direction === 'up' ? d : d.parent);
});
javascript 比 d3 更重要,但这就是您访问滚轮信息的方式。
关于javascript - D3 鼠标滚轮缩放方向,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38480680/