我认为你们中的许多人与D3.js一起工作,已经经历过同样的事情:你的网络或者你所运动的任何可移动的元素,如果被推到硬盘上,就会继续飞出svg元素.如果我的网络很大,外部节点就消失,那么它们就是“世界边缘的衰落”.
我真的很有办法使svg的边框成为一个坚实的“墙”,所以元素不能离开它,通过空间飞行看不见:)
你怎么做这个问题?你是怎么解决的?
提前致谢,
大卫
解决方法
最后,如果您在网络上找到正确的网站,这很简单.
http://bl.ocks.org/1129492完全是我想要的 – 物体不能从svg中滑出.所以他只是在更新节点位置时添加了一些约束.
我的’tick’功能最终如此
http://bl.ocks.org/1129492完全是我想要的 – 物体不能从svg中滑出.所以他只是在更新节点位置时添加了一些约束.
我的’tick’功能最终如此
node.attr("cx",function(d) { return d.x = Math.max(15,Math.min(width - 15,d.x)); }) .attr("cy",function(d) { return d.y = Math.max(15,Math.min(height - 15,d.y)); }); link.attr("x1",function(d) { return d.source.x; }) .attr("y1",function(d) { return d.source.y; }) .attr("x2",function(d) { return d.target.x; }) .attr("y2",function(d) { return d.target.y; }); node.attr("transform",function(d) { return "translate(" + d.x + "," + d.y + ")"; });
每当有重要的事情发生时,都会被称之为“嘀嗒”,这些东西是D3.js深处的东西,所以不要问我.