2

私は d3.js を使用しており、マウスオーバーで要素を強調表示しようとしています。マウスオーバーで四角形の色が変わるが、マウスアウトでは元に戻らないという問題があります。要素にはさまざまな色があるため、マウスアウト時に四角形がどの色になるかをハードコードすることはできません。

これが私のコードです

rectを作成するコード

    nodeEnter.append("svg:rect")
    .attr("y", -barHeight / 2)
    .attr("height", barHeight)
    .attr("width", barWidth)
    .style("fill", color)
    .on("click", click)
    .on("mouseover", seres.utilities.highlight)
    .on("mouseout", seres.utilities.downlight);

上記のコードで呼び出されるカラー関数

function color(d) {
  return d._children ? "#3c3c3c" : d.children ? "#c2bcbc" : "#ffffff";

}

ユーティリティコード

var myMouseOver = function() {
    var rect = d3.select(this);
    rect.style("fill", "red");
}

var myMouseOut = function() {
    var rect = d3.select(this);
    rect.style("fill", 'DONTKNOWWHATTOPUTHERE');
}
4

2 に答える 2