私はjavascriptを初めて使用します。D3を使用していくつかのグラフを作成しています。SVG要素上でのマウスクリック数を表示したいと思います。
現在、楕円を表示し、楕円のクリック数を追跡できます。楕円上で変化するマウスクリック数をオーバーレイしたいと思います。
初期変数が表示されるように動作していますが、変数の変更を表示する方法(つまり、追加のマウスクリック)を解決できませんでした。楕円をクリックするとすぐにテキストが更新されるようにしたいと思います。
私のコードは以下の通りです。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.js"></script>
</head>
<body>
<div id="viz"></div>
<script type="text/javascript">
var clicks = 0;
var sampleSVG = d3.select("#viz")
.append("svg:svg")
.attr("width", 400)
.attr("height", 800);
sampleSVG.append("svg:ellipse")
.style("stroke", "gray")
.style("fill", "white")
.attr("rx", 20)
.attr("ry", 25)
.attr("cx", 50)
.attr("cy", 50)
.on("mouseover", function(){d3.select(this).style("fill", "aliceblue");})
.on("mouseout", function(){d3.select(this).style("fill", "white");})
.on("click", function(){clicks = clicks+1
})
sampleSVG.append("svg:text")
.text(clicks)
.attr("x", 50)
.attr("y", 50)
.attr("fill", "black");
</script>
</body>
</html>
onclick関数にsampleSVG.text(clicks)を追加しようとしましたが、機能しませんでした。
また、より一般的な質問として、テキスト(var clicks)をsampleSVGに追加する必要がありますか、それとも新しい変数sampleTextを作成してsampleSVGにオーバーレイする必要がありますか?
助けてくれてありがとう
R