我创建了一个 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");