1
我要实现以下,D3.JS添加变焦和listItems中RECT
1 - 所提供的颜色 完成
2创建矩形给定列矩阵 - 使这个矩阵变焦能够
3 - 将列表项添加到每个矩形中,如果完全缩小和放大,它将只显示其中的列表项的数量,它将显示列表项有标题。
现在我想在这里实现2号,这是我想,
http://jsfiddle.net/nhe613kt/25/
当我进行缩放失败添加代码,
var svgContainer = d3.select("body").append("svg")
.attr("width", 300)
.attr("height", 300)
.style("background-color", "black");
var zoomed = function() {
svgContainer.attr("transform", "translate("+ d3.event.translate + ")
scale(" + d3.event.scale + ")");
};
var zoom = d3.behavior.zoom()
.scaleExtent([1, 8])
.on("zoom", zoomed);
.size([width, height]);
var rectangle1 = svgContainer.append("rect")
.attr("x", 0)
.attr("y", 0)
.attr("width", 100)
.attr("height", 100)
.attr("fill", "red")
.call(zoom);;
var rectangle2 = svgContainer.append("rect")
.attr("x", 100)
.attr("y", 0)
.attr("width", 100)
.attr("height", 100)
.attr("fill", "yellow");
var rectangle3 = svgContainer.append("rect")
.attr("x", 200)
.attr("y", 0)
.attr("width", 100)
.attr("height", 100)
.attr("fill", "red");
var rectangle4 = svgContainer.append("rect")
.attr("x", 0)
.attr("y", 100)
.attr("width", 100)
.attr("height", 100)
.attr("fill", "yellow");
var rectangle5 = svgContainer.append("rect")
.attr("x", 100)
.attr("y", 100)
.attr("width", 100)
.attr("height", 100)
.attr("fill", "red");
var rectangle6 = svgContainer.append("rect")
.attr("x", 200)
.attr("y", 100)
.attr("width", 100)
.attr("height", 100)
.attr("fill", "yellow");
var rectangle7 = svgContainer.append("rect")
.attr("x", 0)
.attr("y", 200)
.attr("width", 100)
.attr("height", 100)
.attr("fill", "red");
var rectangle8 = svgContainer.append("rect")
.attr("x", 100)
.attr("y", 200)
.attr("width", 100)
.attr("height", 100)
.attr("fill", "yellow");
var rectangle9 = svgContainer.append("rect")
.attr("x", 200)
.attr("y", 200)
.attr("width", 100)
.attr("height", 100)
.attr("fill", "red");
我期望的结果将是这,
http://bl.ocks.org/mbostock/3680957
非常感谢你@Mrkrakhin,我加了你的建议,在这里 - http://jsfiddle.net/nhe613kt/36/,但我看不到我的矩阵放大或缩小都...,请接受我的+1 – Mathematics
@yaron这是因为我只在左上方的矩形中添加了缩放处理器(您可以尝试缩放它,它的工作原理)。我认为你可以在矩阵内创建svg组,然后将矩形放在那里,然后调用组中的缩放。我现在不在电脑附近,所以无法测试。 – mkrakhin
@yaron顺便说一句,我测试了你的jsfiddle,它的工作原理(win,firefox 37.0.1)。 – mkrakhin