1
之前,我按照教程上拖動此項目第g組項目移動https://gist.github.com/enjalot/1378144d3js拖SVG:拖
var circle = svg.append('svg:g').selectAll('circle')
.data(nodes, function(d) { return d.id; });
var g = circle.enter().append('svg:g').call(drag);
g.append('svg:circle').attr('class', 'node')
.attr('cx', function (d) { return d.x; })
.attr('cy', function (d) { return d.y; })
.attr('r', 30)
.style('fill', function(d) { return d3.rgb(colors(d.id)).brighter().toString(); })
.style('stroke', function(d) { return d3.rgb(colors(d.id)).darker().toString(); });
g.append('svg:text')
.attr('x', function (d) { return d.x + 0; })
.attr('y', function (d) { return d.y + 4; })
.attr('class', 'id')
.text(function(d) { return d.id; });
var drag = d3.behavior.drag()
.on('drag', function (d,i) {
d.x += d3.event.dx;
d.y += d3.event.dy;
d3.select(this).attr("transform", function (d, i) {
return "translate(" + [d.x,d.y] + ")";
})
});
然而,當我嘗試拖動一個項目時,首先拖動項目的方式離開它的當前座標,但後來一切都會正常拖動。我想不通,爲什麼在第一個阻力
完美的解釋。謝謝。 – timpham