• ベストアンサー

テーブルもしくセルの背景をランダムにしたいがうまくいかない

テーブルの背景を表示のたびに変えたいと思っています。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=171099&rev=1 この記事を参考にしました。 用意している壁紙は7枚で画像ファイルは0~7.gifとしています。 記述するhtmlファイルと同じ階層にhaikeiフォルダを置き、その中に0~7.gif画像を入れました。画像の大きさは200*150で統一しています。 <SCRIPT LANGUAGE="JavaScript"> <!-- var imgback = "haikei/" ; var imgno = (Math.floor(Math.random() * 6) + 1) ; document.write("<TABLE frame=\"void\" cellpadding=\"0\" width=\"200\" height=\"150\" background = ", imgback+imgno ,".gif>"); document.write("<TR><td align=\"center\">hallo!</TD></TR>"); document.write("</TABLE>"); //--> </SCRIPT> ランダムにならないどころか何も表示されません。 どこがどう間違っているのでしょうか。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

タグに属性をぐだぐだ書くのは今となっては微妙な感じですね cssで処理するのが妥当だと思います。 ただし今回は割愛して・・・。 backgroudの指定の際にダブルクォーテーションでくくってみては? とりあえずデバッグにはdocument.write内の、<を&lt;に置換するだけで ソースへの理解が深まります <SCRIPT LANGUAGE="JavaScript"> var imgback = "haikei/" ; var imgno = (Math.floor(Math.random() * 6) + 1) ; document.write("&lt;TABLE frame=\"void\" cellpadding=\"0\" width=\"200\" height=\"150\" background = \"", imgback+imgno ,".gif\">"); document.write("&lt;TR>&lt;td align=\"center\">hello!&lt;/TD>&lt;/TR>"); document.write("&lt;/TABLE>"); </SCRIPT>

bisuku
質問者

お礼

ポイント付与とお礼が遅れて申し訳ありません。 JavaScriptとCSSの基本をやりなおしてきます。 タグに属性をぐだぐだ書く、今となっては、の部分で、自分の知識が少し古すぎると納得できました。ありがとうございます。

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

エスケープを使うとわかりにくくなるので、シングルクォーテーションを利用して書くほうがわかりやすくなると思います。 document.write('<TABLE frame="void" cellpadding="0" width="200" height="150" background = "', imgback+imgno ,'.gif">'); No.1で回答されているように、style属性を制御する方がよさそう。 ○○.style.backgroundImage = 'url(haikei/' + imgback+imgno + ')'; とか・・(○○はエレメント)

bisuku
質問者

お礼

ポイント付与とお礼が遅れて申し訳ありません。 JavaScriptとCSSの基本をやりなおしてきます。 CSSがほとんど頭に入ってなかったのが恥ずかしい限りです。 ありがとうございました。

関連するQ&A