★ 窓から覗くぱに☆かふぇ模様 ★

● 画面を読み込む時(ごと)に画像をランダムで入れ替える。

では、画像を最低ふたつ用意して下さい。同じサイズでお願いします。
解りやすくするために、今回も(その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?)に数字が使ってあったのがポイントです。
 ランダムに呼び出す数値と、変える画像の名前の数字を対応させています。