【发布时间】:2017-08-30 12:26:42
【问题描述】:
我用下面的代码画了两个圆圈,我必须在这两个圆圈之间画一条线,但是当我开始从第一个圆圈画一条线时,棘手的一点是应该有第二个圆圈,然后只有它应该画否则它不应该画线,反之亦然。如果我点击圈外,那么它也不应该画线
在我下面的代码或小提琴中检查它我可以画一条线我的条件不工作
var line;
var svg = d3.select("body").append("svg")
.attr("width", 600)
.attr("height", 400).on("mousedown", mousedown).on("mouseup", mouseup);
function mousedown() {
var m = d3.mouse(this);
line = vis.append("line")
.attr("x1", m[0])
.attr("y1", m[1])
.attr("x2", m[0])
.attr("y2", m[1]);
svg.on("mousemove", mousemove);
}
function mousemove() {
var m = d3.mouse(this);
line.attr("x2", m[0])
.attr("y2", m[1]);
}
function mouseup() {
svg.on("mousemove", null);
}
var inputs = [
{ "x" : 200, "y" : 150, r : 50},
{ "x" : 300, "y" : 250, r : 50},
]
svg.selectAll("circle").data(inputs).enter().append("circle")
.attr("r", function(d, i){ return d.r })
.attr("cx", function(d, i){ return d.x })
.attr("cy", function(d, i){ return d.y })
.attr("stroke", "red")
.attr("fill", "white")
这是我的小提琴:https://jsfiddle.net/34j6pkn9/1/
【问题讨论】:
-
也许这会有所帮助bl.ocks.org/cjrd/6863459
-
没有错误但没有画线