使用d3.js缩小不在网络拓扑图中工作

时间:2015-05-27 10:50:22

标签: javascript svg d3.js zoom

我有一个使用d3.js生成的网络拓扑图。

添加了缩放功能,如下所示

    var zoom = d3.behavior.zoom()
    .translate([0, 0])
    .scaleExtent([1, 3])
    .on("zoom", zoomed);

var svg = d3.select("div#<name>").append("svg")
    .attr("viewBox", "0 0 " + width + " " + height )
    .attr("preserveAspectRatio", "xMidYMid meet")
    .call(zoom);
...

var containerGrp = svg.append("g");
...
function zoomed() {
    var e = d3.event,
    tx = Math.min(0, Math.max(e.translate[0], width - width * e.scale)),
    ty = Math.min(0, Math.max(e.translate[1], height - height * e.scale));
    zoom.translate([tx, ty]);
    containerGrp.attr("transform", ["translate(" + [tx, ty] + ")", "scale(" + e.scale + ")"].join(" "));
    }

单击拓扑图时,它会放大并停止。缩小功能无效。 有人可以告诉我是否缺少缩小代码?缩小如何使用d3.js?

0 个答案:

没有答案