我创建了一个JSFiddle,希望能够沿着路径拖动圆形,但我遇到了一些问题。这里是JSFiddle的链接:http://jsfiddle.net/fHBpC/2/
以下是我遇到的问题:
在dragMove中,参数“d”未定义。
我的路径应该从(0,0)开始,到(200,200),最后到(150,150),但实际上它只从(0,0)开始到(200,200)。
如何使圆只沿着线移动?
1.
function dragMove(d) {
console.log("dragging a circle");
d.x += d3.event.dx;
d.y += d3.event.dy;
d3.select(this)
.attr('x', d.x)
.attr('y', d.y)
.attr("transform", "translate(" + d.x + "," + d.y + ")");
}
2.
var path = content.append("path").attr("d", "M 100 100 L 200 200 L 150 150").style("stroke-width", 5).style("stroke", "steelblue");