D3鼠标滚轮缩放方向
D3 mousewheel zoom direction
我正在尝试在d3.js中创建一些自定义缩放功能。目前,缩放是在单击时触发的,并且会放大到只关注单击的区域。
目前,我的代码有一个function zoom(d)
,它可以做它需要做的事情。还有一个位于zoom()内部的var zoomTransition
,它负责大部分功能。不幸的是,我无法共享我的大部分代码。
缩放还需要在鼠标滚动上进行。我遇到的困难是:
.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更重要,但这就是访问滚轮信息的方式。
d3具有缩放行为,您可能会发现它很有用。
示例代码:
var zoom = d3.behavior.zoom()
.scaleExtent([0, 10])
.on("zoom", redraw); //if you are sure that your zoom function is working just replace redraw with your zoom function
function redraw() {
return svg.attr("transform", "translate(" + d3.event.translate + ")" + " scale(" + d3.event.scale + ")");
}
完整示例:
http://bl.ocks.org/mbostock/2206340
相关文章:
- 更改高贴图的缩放级别
- 在不阻止默认行为的情况下检测IE10中的缩放
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 缩放Raphael/SVG容器以适应所有内容
- 传单缩放控制位置错误
- 在不移动内部文本的情况下缩放元素的效果
- 调整缩放窗口高度提升缩放
- 计算CSS3缩放框在另一个框中的最高位置
- D3.JS向rect添加缩放和列表项
- 当我在节点上拖动鼠标时,我如何防止使用d3.ehavior.zoom().on(“缩放”,重绘)
- 将直流图表库中的折线图缩放限制为小时
- 为什么缩放按钮不会显示在照片擦除中
- 动态设置谷歌地图缩放
- 如何缩放像图像一样的元素
- 使用KineticJS变换(移动/缩放/旋转)形状
- 在手机上缩小/缩放滚动图像
- 将时间缩放添加到折线图(Chart.js)
- 方向地图没有正确定心/缩放
- 有没有办法在一个方向上缩放图像
- D3鼠标滚轮缩放方向