【发布时间】:2018-12-05 17:22:52
【问题描述】:
以this timeless example 的 D3 变焦。缩短代码如下:
var svg = d3.select("svg")
...;
var zoom = d3.zoom()
.scaleExtent([1, 40])
.translateExtent([[-100, -100], [width + 90, height + 100]])
.on("zoom", zoomed);
...
d3.select("button")
.on("click", resetted);
svg.call(zoom);
function zoomed() {
view.attr("transform", d3.event.transform);
gX.call(xAxis.scale(d3.event.transform.rescaleX(x)));
gY.call(yAxis.scale(d3.event.transform.rescaleY(y)));
}
function resetted() {
svg.transition()
.duration(750)
.call(zoom.transform, d3.zoomIdentity);
}
在 D3 缩放库中,指定缩放行为,然后将缩放应用到画布或 SVG 目标。在不重新定义缩放行为的情况下,我如何/在哪里将回调作为参数发送到 zoomed()?
【问题讨论】:
标签: javascript d3.js callback zooming