| ★ 窓から覗くぱに☆かふぇ模様 ★ |
● 画面を読み込む時(ごと)に画像をランダムで入れ替える。
では、画像を最低ふたつ用意して下さい。同じサイズでお願いします。
解りやすくするために、今回も(その1)と同じ名前の画像を使う事にします。
● 実際、何をしたらよいのか。違いを見てください。
解説で(その1)と重なる所は省きます。
| ★<HEAD>以降 (<HEAD> </HEAD>内) |
| <SCRIPT language="javascript"> <!-- var mitu1 = new Image(); var mitu2 = new Image(); mitu1.src = "初期"; mitu2.src = "営業スマイル"; var kazu1, kazu2; ↓ kazu1、kazu2という二つの場所を作ってます。 数字を入れる為の、だだの場所です。 function random(){ kazu1 = Math.random() * 2; ↓ ・ランダムで呼び出した数値に2を掛けて kazu1 に入れます。 Math.random() ↓ これで、0〜1の数値をランダムで呼び出しています。 (小数点第1位に限っても0.1、0.2、0.3、・・第2位にすると・・って 考えたらきりがないですが・・) 2を掛ける、の方は下記でまとめて。 kazu2 = Math.ceil(kazu1); ↓ ・kazu1 を整数に切り上げ kazu2 に入れます。 中を考えると・・ 0 ×2=0 →切り上げ 0 0.1×2=0.2 →切り上げ 1 0.2×2=0.4 →切り上げ 1 (中略) 0.6×2=1.2 →切り上げ 2 (中略) 0.9×2=1.8 →切り上げ 2 こんな感じです。 結果、kazu2 には 0 か 1 か 2 の数値のどれかが入ります。 if (kazu2==0){ kazu2 = kazu2 + 1;} ↓ ・もし、kazu2 が0ならば kazu2 に 1 を足す。 結果 kazu2 には 1 が入ります。 0 のまま下記の処理をするとエラーが出てしまうので。 document.mitu0.src = eval("mitu"+kazu2+".src");} ↓ ・場所mitu0 に mitu1 か mitu2 を入れる。 eval("mitu"+kazu2+".src") ↓ この文で文字をつなげています。 中を考えると・・ kazu2 が 1 の時・・ mitu + 1 + .src → mitu1.src kazu2 が 2 の時・・ mitu + 2 + .src → mitu2.src ・・だから、0ではエラーがでてしまいます。 ※mitu0もありますけどコレは画像の名前じゃなく場所の名前 ・・ややこしくて済みません。 //--> </SCRIPT> |
| ★</HEAD>以降 (<BODY> </BODY>内) |
|
(すぐに) <BODY onload = "random()"> ↓ ・画面を読み込むと同時に random() を実行。 (画像を貼り付けたい場所に) <IMG name="mitu0" width="170" height="329" border="0"> |
この処理は、
mitu0 という場所に "初期"(mitu1)や "営業スマイル"(mitu2)を
ランダムに呼び出した数値により
入れ替えている、
+
画面を読み込む時(ごと)にその処理を行う、ということです。
画像の場所の名前(mitu?)に数字が使ってあったのがポイントです。
ランダムに呼び出す数値と、変える画像の名前の数字を対応させています。
![]()
![]()
![]()