2017-06-29 13 views
-1

私はD3.jsを使用していますが、別の問題があります。 私はこの配列を持っていますpat、私は2つのノードをクリックし、配列内のそれらのノード間の最短経路を保存することができます。 midというpatの中間要素を作成しました。私の目標は、この要素のスタイルを変更するには、別の色に言うことができますred。 しかし、私は適切な解決策を見つけるのに苦労しています。ここで私のコードを見ることができます。どのようにして、誰かが解決策を見つけるのを助けることができます。配列の中央にある要素のスタイルを変更します

var mid = null; 

    node.on("click", function(d, i){ 
     var pat = start && start.pat(d) || [] 

     mid = pat[Math.floor((pat.length - 1)/2)]; 

     node.style("fill", function(d) 
         { 
          if (pat.includes(mid)){ return "red";} 

         }); 

答えて

0

私はあなたのコードが何をしているかについてはっきりしていませんが、ここに私の提案があります。あなたがそれらにIDを割り当て、要素/ノードを作成しているよう:

.attr('id', function(d){ return some.identifier } 

、あなたのクリック機能で、あなたはmid要素に等しい識別子を持つノードを選択することができます。

d3.select("#" + mid) 
    .style("fill", "red") 
+0

なぜdownvoteですか?より良い回答があれば、投稿してください。 – genestd

+0

私はちょうどあなたのためにそれをupvoted。なぜ誰かがそれを落としたのか分かりません –

関連する問題