ランダム画像の関数化について



0   名前: 一休軒ファン : 2005/09/06 23:34
JavaScript初心者です。

画像をアクセス(更新)のたびにランダムに変更させているのですが、
画像の種類が200種類くらいあります。
外部ファイルにして関数を読み込むと、読み込んだページが上書き(?)され、
画像の部分しか残りません。しかも、関数を読み込むコードもなくなるので
1度しか変更できなくなります。

ランダムに画像を表示する関数を作成し、これを外部ファイルにおいた経験の
ある方がいましたら、アドバイスお願いします。

1   名前: m035 : 2005/09/06 23:34  [URL
>外部ファイルにして関数を読み込むと、読み込んだページが上書き(?)され、
>画像の部分しか残りません。
これはdocument.write()を使ってランダムに<img src="**.jpg">を書き出しているからです。
なので、nameによってimgにrimgと言う名前を付けておき、src属性を変更すれば、問題はありません。
HTMLは以下のようにし、
<body onload="rand()">
<img src="/img/defalt.jpg" name="rimg">
</body>

外部ファイルは
functon rand(){
document.rimg.src="/img/"+Math.floor(Math.random()*201)+".jpg";
}
とします。imgは同じ階層のimgフォルダ内に(0.jpg〜200.jpgが)あることにします。
これによって、JavaScriptをOffにしていてもdefalt.jpgが表示されるので一石二鳥。
もし、訳が分からなければ、外部ファイルのソースを書き込むか、URLを教えてくれれば、手直しします。

一覧へ戻る