DIV要素をクリックして円を配置したい...これに最適なアプローチは何ですか。直径約5ピクセルの、場合によっては重なる数百の小さな円を配置したいと思います。次に、必要なすべての円ができたら、このパターンを保存する必要があります。
誰かがこれを始めるのに良い場所を提案できますか?
参考までに...私はLinuxサーバーのLAMPスタックを使用しています。
------------------ OK、最初の提案の後に私のコードを追加しました。
動的に作成された円が非表示になることを除いて、コードは機能しますか?任意のアイデア(修正済みは以下を参照)
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
/*<![CDATA[*/
div{
width: 200px;
height: 200px;
background-color: #0033FF;
}
/*]]>*/
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
//<![CDATA[
var X = 0, Y = 0;
$('.clickInHere').live('mousemove', function(e){
$('h1').html(e.pageX + ' - ' +e.pageY);
X = e.pageX;
Y = e.pageY;
});
$('.clickInHere').live('click', function(e){
$('#circlesHere').append('<circle cx="' + X + '" cy="' + Y + '" r="5" stroke="black" stroke-width="2" fill="none"/>'); // NOTE: THIS DIDN'T WORK PROPERLY... SEE BOTTOM
});
// ]]>
</script>
</head>
<body>
<div class="clickInHere"></div>
<div class="circleContainer" style="background-color: #eee;">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" style="width: 100%; height: 100%;" id="circlesHere"></svg>
</div>
<h1></h1>
</body>
</html>
- - - アップデート - -
さて、動的に作成されたサークルは、間違って作成していたため表示されませんでした...これが修正です
var obj = document.createElementNS("http://www.w3.org/2000/svg", "circle");
obj.setAttributeNS(null, "cx", X);
obj.setAttributeNS(null, "cy", Y);
obj.setAttributeNS(null, "r", Radius);
obj.setAttributeNS(null, "stroke", strokeColor);
obj.setAttributeNS(null, "stroke-width", 1);
obj.setAttributeNS(null, "fill", "white");
$("svg")[0].appendChild(obj);
これを関数に入れて、完全に機能しました。