2015-07-03 65 views
0

当我在本地运行这个例子D3力指向树显示的NaN点击节点

http://bl.ocks.org/mbostock/1138500

如果我点击,或尝试拖动,它这样做的一个节点。

enter image description here

为什么?

这些错误1200点到代码的这一部分:

   node.attr("cx", function(d) { return d.x; }) 
        .attr("cy", function(d) { return 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; }); 

好像x和y没有得到正确的数据?

我试着把force.stop()放在几个不同的地方,根据这篇文章的评论,但到目前为止没有运气。 NaN on Force-Directed Layout Append in D3.js

谢谢。

+0

你在所有样本数据或代码进行任何更改? – Travis

+0

啊......我在用排队,也许是搞砸了,让我看看...... – airwwwave

+0

是的,没有使用队列似乎已经修复了它。队列会自动设置在我正在使用的模板中,因此我们将尝试具体了解进程导致错误的哪些部分。感谢brainspark :)将回报... – airwwwave

回答

1

队列不是问题。 解决方案是忽略最后两个链接导致的404错误,或者只是删除链接。

问题是,因为有链接到HTML中的三个JS文件,我认为这些是需要的。

<script type="text/javascript" src="http://mbostock.github.com/d3/d3.js?1.29.1"></script> 
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.geom.js?1.29.1"></script> 
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.layout.js?1.29.1"></script> 

最后两个有404错误,所以我找了他们在其他地方上网,并从code.google.com复制他们,但它仍然没有奏效。只是靠运气我只是试图删除链接,它的工作。

显然这两个最后的链接是不需要的,这就是为什么404错误没有打破它。

然后我找到了这个网页:https://github.com/mbostock/d3/wiki/Upgrading-to-3.0

我没有注意到这是一个四岁的例子,这么老的链接没有想到的一个问题。我现在看到1.29.1是D3的v1。

,当然还有,那切换到当前版本也适用

https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js 
+0

那么,你的问题是否修复? –

+0

是的。试图让最后两个链接工作是造成这个问题。删除他们解决了它。但不允许接受我自己的答案两天。 – airwwwave