2017-06-29 5 views
-1

Ich benutze D3.js und ich habe ein anderes Problem. Ich habe dieses Array pat, die lassen Sie mich 2 Knoten klicken und speichert den kürzesten Pfad zwischen diesen Knoten im Array. Nun habe ich das mittlere Element pat namens mid erstellt. Mein Ziel ist es, den Stil dieses Elements zu ändern, sagen wir in eine andere Farbe red. aber ich kämpfe um die richtige Lösung zu finden. Hier können Sie meinen Code sehen. Wie kann jemand mir helfen, eine Lösung zu finden.Ändern Sie den Stil des Elements in der Mitte eines Arrays

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";} 

         }); 

Antwort

0

Ich bin nicht sehr klar, was Ihr Code tut, aber hier ist mein Vorschlag. Wie Sie die Elemente/Knoten erstellen, weisen sie eine ID:

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

dann in Ihrer Klick-Funktion, können Sie den Knoten auswählen, die eine Kennung gleich dem mid Element hat.

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

Warum der Downvote? Wenn Sie eine bessere Antwort haben, zögern Sie nicht, es zu posten. – genestd

+0

ich habe es gerade für dich aufgestuft. Ich weiß nicht, warum jemand es abgelehnt hat –

Verwandte Themen