2015-07-03 109 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