• ベストアンサー

ソースが変わってしまいます

ボールが水平に転がっていくプログラムを作りたいと思っています。 <自分が作っているもの> <script type="text/javascript"> <!-- a=new Array("●"," ●"," ●"); num=0; function roop(){ document.write(a[num]); num=num+1; } //--> </script> <script type="text/javascript"> <!-- setInterval("roop()",200); //--> </script> これを実行するとひとつ目の●だけが表示されます。 ソースを表示すると変化してしまっています。 どのようにすれば、自分の望んでいるようになるのでしょうか? 最近始めたばかりなのでわけの分からないことを書いているかもしれませんがよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • talepanda
  • ベストアンサー率58% (45/77)
回答No.1

適当に弄って遊びながら、頑張って勉強してください。 <html> <head> <script type="text/javascript"> var n=0; function loop(){window.document.getElementById("orz").style.left=Math.sin(++n/20)*100+200;} </script> <body onload="setInterval(loop,10);"> <div id="orz" style="top:100px;left:100px;position:absolute">o</div> </body> </html>

sanpo48
質問者

お礼

ご回答ありがとうございます。 正直今の自分には回答者様の回答が良く理解できません。<div id="orz" style="top:100px;left:100px;position:absolute">o</div>のあたりです。 (もちろんコピーして張り付けたら、希望どうりできました。) 今は、ネットでjavascript基礎の勉強をしていますが、配列、for文などは出てくるんですが、このような 図形を動かしたりする場合はどのような分野?を勉強すればいいのでしょうか?

その他の回答 (1)

  • VCAT
  • ベストアンサー率20% (16/79)
回答No.2

その発想を最大限生かして書くとこんな感じなのかと・・・ (深い意味は追求しないでね) <html> <head> <title>Untitled</title> <script type="text/javascript"> a=new Array("●"," ●"," ●"); num=0;lp=3;xp=50;d=40; function loop(){ if(lp>0){ document.getElementById('x1').style.left=(xp+=d); document.getElementById('x1').innerHTML=a[num] } lp--;num=num+1; } setInterval(loop,200); </script> </head> <body> <div id="x1"style="position:absolute;top:50px;left:50px;"></div> </body> </html>

sanpo48
質問者

お礼

回答ありがとうございます。 もっと勉強して自分で作れるようになります。