私は、太陽の周りの惑星の回転のように、主オブジェクトの周りのオブジェクトを回転させる関数をプログラムしました。関数内に新しい要素を動的に追加する
小さなソーラーシステムで新しい惑星をボタンをクリックするだけで動的に追加しようとしています。それらはすべてSVG要素です。私はrotation(coorX, coorY, object)
関数を使って太陽の周りを回転する新しい要素を動的に生成する方法を試してみるのが面倒です。彼らはすべて動的に命名され動的に配置される必要がありますが、これは私にとっては難しいことです。
これを達成するために私のコードはどのように見える必要がありますか?どのようなヘルプやヒントもありがとうございます。
ここに私のコードです:
var objectX = "black";
function addObject(){
objectX = "blue";
}
function rotation(coorX, coorY, object) {
\t object.side += (1.0/object.speed);
\t var ang = object.side * 2.0 * Math.PI/180.0;
\t var r = object.spin;
\t return {
\t \t x: Math.cos(ang) * r - Math.sin(ang) * r + coorX,
\t \t y: Math.sin(ang) * r + Math.cos(ang) * r + coorY
\t };
}
function rotationball (circle) {
\t var x, y, x_black, y_black, e, newpos;
\t e = document.getElementById (circle);
\t x_black = parseFloat (document.getElementById (objectX).getAttribute ("cx"));
\t y_black = parseFloat (document.getElementById (objectX).getAttribute ("cy"));
\t newpos = rotation(x_black, y_black, ball[circle]);
\t e.setAttribute ("cx", newpos.x);
\t e.setAttribute ("cy", newpos.y);
\t }
var ball = {
blue: \t {speed: 1.2, \t spin: 100, \t side: 0.0} ,
red: \t {speed: 1.2, \t spin: 200, \t side: 0.0}
\t };
function animate() {
\t rotationball("blue");
\t rotationball("red");
\t }
var animateInterval = setInterval(animate, 1000/60);
.st0{fill:black;}
.st1{fill:blue;}
.st2{fill:red;}
<div class="spinning"> <svg xmlns="http://www.w3.org/2000/svg" id="solly" viewBox="0 0 1000 600"><g id="Sun2">
\t \t <circle id="black" class="st0" cx="500" cy="300.8" r="10"/>
\t \t <circle id="blue" class="st1" cx="375.4" cy="289.7" r="10"/> \t
<circle id="red" class="st2" cx="375.4" cy="289.7" r="10"/> \t
</div>
<button type="button" onclick="addObject()">
button
</button>
あなたの質問の完全な内容は**あなたの質問に**リンクするだけでなく、**でなければなりません。リンクが腐って、将来の質問やその回答が役に立たなくなり、人々はあなたを助けるためにオフサイトに行く必要はありません。スタックスニペット( '<>'ツールバーボタン)を使用して理想的に[mcve] **を実行可能にします。その他:[*どのように良い質問をしますか?](/ help/how-to-ask) –
zessxのように見えます。 –