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