HOME  >>>  HTML整理ノート  >>> DHTML --  基本編  応用編

風船 (かな??)

6

 

 

 

 

 

 

 

 

 

 

Sample Source......................................................................>>>

<SCRIPT language="JavaScript"><!--
function RandomColor(){ //ランダム色を生成する関数
  var c = new String(); //文字列オブジェクト"c"を定義
  for(i=0;i<3;i++){
    c1 = Math.floor(Math.random()*255); //0〜254の乱数を生成
    c2 = c1.toString(16); //16進数に変換
    if(c2.length<2)c2 = "0" + c2; //1桁の場合は0を付ける
    c = c + c2; //色指定の RRGGBB 形式を生成
  }
  return c;
}
function arrayCon(top,left,fsize,dfs,dx,dy){ //配列のコンストラクタ
    this.top = top; //Top位置
    this.left = left; //Left位置
    this.fsize = fsize; //フォントサイズの初期値
    this.dfs = dfs; //フォントサイズの変化量(小数可)
    this.dx = dx; //Left位置の移動量
    this.dy = dy; //Top位置の移動量
}
function arraySet(){ //9個の風船玉の配列を作成
    tama = new Array();
    tama[0] = new arrayCon(330,155,6,2,-1,4);
    tama[1] = new arrayCon(320,155,2,2,1,4);
    tama[2] = new arrayCon(310,155,0,2,0,4);
    tama[3] = new arrayCon(340,155,6,1,-1,3);
    tama[4] = new arrayCon(310,155,2,2,1,3);
    tama[5] = new arrayCon(300,155,0,2,0,3);
    tama[6] = new arrayCon(340,155,10,1,-1,3);
    tama[7] = new arrayCon(330,170,2,1,-1,3);
    tama[8] = new arrayCon(350,155,0,1,0,3);

    Init();
}
function Init(){ //初期化
  for(var i = 0 ; i <= 8 ; i++){
    el = "sp" + i; //タグID名を取得
    document.all[el].style.top = tama[i].top;
    document.all[el].style.left = tama[i].left;
    document.all[el].style.fontSize = tama[i].fsize;
    c = RandomColor(); //ランダム色を生成
    document.all[el].style.color = "#" + c;
    document.all[el].style.filter = "alpha()"; //透明度のフイルタ
    document.all[el].filters.alpha.opacity = 100;
  }
  Big();
}

var timerID;
function Big(){
  if(sp8.style.pixelTop > 50){
    for(var i = 0 ; i <= 8 ; i++){
      el = "sp" + i; //タグID名を取得
      //現在のフォントサイズを取得し数値に変換する
      ff = parseFloat(document.all[el].style.fontSize); 
      fs = ff + tama[i].dfs;
      document.all[el].style.fontSize = fs;
      document.all[el].style.pixelLeft += tama[i].dx;
      document.all[el].style.pixelTop -= tama[i].dy;
      if(document.all[el].style.pixelTop < 80){
        //透明度を10あげる
        document.all[el].filters.alpha.opacity -= 10; 
        }
    }
    timerID = setTimeout("Big()",80);
  }else{
    clearTimeout(timerID);
    setTimeout("arraySet()",1000);
  }
}
//--></SCRIPT>
</HEAD>

<BODY onload="arraySet();">
<span id="sp0" style="position:absolute;">●</span> 
<span id="sp1" style="position:absolute;">●</span> 
<span id="sp2" style="position:absolute;">●</span> 
<span id="sp3" style="position:absolute;">●</span> 
<span id="sp4" style="position:absolute;">●</span> 
<span id="sp5" style="position:absolute;">●</span> 
<span id="sp6" style="position:absolute;">●</span> 
<span id="sp7" style="position:absolute;">●</span> 
<span id="sp8" style="position:absolute;">●</span> 

<DIV style="position:absolute;top:340;left:140;
    color:green;font:40pt Wingdings">6</DIV> 


end(最終更新:12/11/12)