我使用d3.js
創建rectangle
,在該矩形內創建10個較小的矩形。使用d3.js複製整個svg元素
我想在鼠標單擊時將整個事件複製到另一個svg元素。代碼
jsfiddle
鏈接:http://jsfiddle.net/nikunj2512/XK585/
下面是代碼:
var svgContainer = d3.select("body").append("svg")
.attr("width", 200)
.attr("height", 200);
//Draw the Rectangle
var rectangle = svgContainer.append("rect")
.attr("x", 10)
.attr("y", 10)
.attr("fill", "red")
.attr("width", 200)
.attr("height", 200);
var bigRectContainer = d3.select('#bigRectContainer').append('svg')
.attr('width', 200)
.attr('height', 200);
var dim = 20;
var x = 0;
var y = 0;
for (i = 1; i < 11; i++) {
x = 10 + (i-1)*dim;
//alert(x);
y = 10;
svgContainer.append("rect")
.attr("x", x)
.attr("y", y)
.attr("width", 20)
.attr("height", 20)
.style("fill", "black");
}
var bigRectContainer = svgContainer.append("g");
svgContainer.selectAll("rect").on("click", function() {
var littleRect = d3.select(this);
console.log(littleRect)
var bigRect = bigRectContainer.selectAll("rect")
.data(littleRect)
.enter()
.append("rect");
});
請告訴我在哪裏犯了錯......
你正在做代碼中的5個不同的事情。我建議你回到開始,並嘗試先追加一個矩形,然後追加一個矩形。 –
拉爾斯:我沒有得到你想說的是什麼...請更清楚地解釋... –