TOP /すぐに使えるJavaScript | X'mas tree (IE専用) | クリスマス ミュージアム |
---|
<img id="Timg" src="k.gif"> <script type="text/javascript"><!-- //色設定(必ず2色以上で) Colors=new Array(); Colors[0]="#ff0000"; Colors[1]="#00ff00"; Colors[2]="#00ffff"; Colors[3]="#ff00ff"; Colors[4]="#0000ff"; Colors[5]="#ffff00"; Colors[6]="#ffffff"; //ポジション設定(画像左上からの位置を指定x,y) //positions[i]の数だけランプができます(iは必ず連番で) positions=new Array(); positions[0]=new Array(64,2); positions[1]=new Array(50,41); positions[2]=new Array(96,60); positions[3]=new Array(25,81); positions[4]=new Array(66,91); positions[5]=new Array(115,108); positions[6]=new Array(8,132); positions[7]=new Array(64,134); positions[8]=new Array(135,153); /*動作設定(new Array(8,0)を指定しなければ繰り返す) control[i]の数だけ順に動作する(iは必ず連番で) control[i]=new Array(動作の種類,動作回数) 0:カラーランダム(動作回数を指定) 1:フェードイン(スピードを指定) 2:フェードアウト(スピードを指定) 3:同時点滅(動作回数を指定) 4:点滅移動(動作回数を指定) 5:カラーランダムフェードイン(スピードを指定) 6:カラーランダムフェードアウト(スピードを指定) 7:ランダム点滅(動作回数を指定) 8:終了(0を指定)*/ control=new Array(); control[0]=new Array(0,2); control[1]=new Array(1,100); control[2]=new Array(3,100); control[3]=new Array(4,100); control[4]=new Array(2,2); control[5]=new Array(5,1); control[6]=new Array(7,100); control[7]=new Array(6,1); //点滅スピード cyclesec=100; //ミリ秒 //-----------------------------------------------設定ここまで basex=Timg.offsetLeft; basey=Timg.offsetTop; count=0;fs1=0;fs2=0;fs3=100; for (i=0; i < positions.length; i++){ color=Colors[Math.floor(Math.random()*Colors.length)]; xpx = basex + positions[i][0]; ypx = basey + positions[i][1]; star="<DIV STYLE='position:absolute;left:"+ xpx +"px;top:"+ ypx +"px;color:"+color+";filter: Alpha(opacity=0,style=2);'id='lamp"+i+"'>●</DIV>"; document.write(star); } function Illumination(){ if(control[count][0]==1){ // カラーランダム for (i=0; i < positions.length; i++){ color=Colors[Math.floor(Math.random()*Colors.length)]; document.all("lamp"+i).filters['alpha'].opacity= 100; document.all("lamp"+i).style.color=color; } fs2++; if(fs2==control[count][1]){count++;count%=control.length;fs2=0;} }else if(control[count][0]==0){ //フェードイン fs1=fs1+control[count][1]; for (i=0; i < positions.length; i++){ document.all("lamp"+i).filters['alpha'].opacity= fs1; } if(fs1>=100){count++;count%=control.length;fs1=0;} }else if(control[count][0]==2){ //フェードアウト fs3=fs3-control[count][1]; for (i=0; i < positions.length; i++){ document.all("lamp"+i).filters['alpha'].opacity= fs3; } if(fs3<=0){count++;count%=control.length;fs3=100;} }else if(control[count][0]==3){ //同時点滅 fs2++; for (i=0; i < positions.length; i++){ if(fs2%2) document.all("lamp"+i).filters['alpha'].opacity= 0; else document.all("lamp"+i).filters['alpha'].opacity= 100; } if(fs2==control[count][1]){ for (i=0; i < positions.length; i++){ document.all("lamp"+i).filters['alpha'].opacity= 100; } count++;count%=control.length;fs2=0;} }else if(control[count][0]==4){ //点滅移動 fs2++; for (i=0; i < positions.length; i++){ if(i==fs2%positions.length) document.all("lamp"+i).filters['alpha'].opacity= 0; else document.all("lamp"+i).filters['alpha'].opacity= 100; } if(fs2==control[count][1]){ for (i=0; i < positions.length; i++){ document.all("lamp"+i).filters['alpha'].opacity= 100; } count++;count%=control.length;fs2=0;} }else if(control[count][0]==5){ //カラーランダムフェードイン fs1=fs1+control[count][1]; for (i=0; i < positions.length; i++){ color=Colors[Math.floor(Math.random()*Colors.length)]; document.all("lamp"+i).style.color=color; document.all("lamp"+i).filters['alpha'].opacity= fs1; } if(fs1>=100){count++;count%=control.length;fs1=0;} }else if(control[count][0]==6){ //カラーランダムフェードアウト fs3=fs3-control[count][1]; for (i=0; i < positions.length; i++){ color=Colors[Math.floor(Math.random()*Colors.length)]; document.all("lamp"+i).style.color=color; document.all("lamp"+i).filters['alpha'].opacity= fs3; } if(fs3<=0){count++;count%=control.length;fs3=100;} }else if(control[count][0]==7){ //ランダム点滅 fs2++; for (i=0; i < positions.length; i++){ flag=Math.floor(Math.random()*2); if(flag) document.all("lamp"+i).filters['alpha'].opacity= 0; else document.all("lamp"+i).filters['alpha'].opacity= 100; if(fs2==control[count][1]){ for (i=0; i < positions.length; i++){ document.all("lamp"+i).filters['alpha'].opacity= 100; } count++;count%=control.length;fs2=0;} } }else if(control[count][0]==8){ //終了 clearInterval(setlamp); } } setlamp=setInterval("Illumination()",cyclesec);/* himajin.moo.jp */ // --></script>