◇1.画像の数を変える
画像の数を変えるには、1行目の「1|imMaxCh=10;// 最大画像数」の数値を変更します。
◇2.画像の揺れる幅を変える
画像の揺れる幅を変えるには、6行目の「6 |imMz=8;// 振幅の大きさ」の値を変更します。
◇3.画像を変える
画像自体を変更するとおもしろいかもしれません。
◇4.プログラムリスト(imgmoveprog.js)
imMaxCh=10;// 最大画像数
imX=new Array(imMaxCh);// 画像の座標
imY=new Array(imMaxCh);
imZ=new Array(imMaxCh);// 画像の加速度
imW=new Array(imMaxCh);// 加速度への加算減算フラグ
imMz=8;// 振幅の大きさ
imA=0;
var imWx;
var imWy;// ウインドウの幅と高さ
bw=0;// ブラウザチェック
document.write("<img src='pjs_logo.gif' style='position:absolute;left:0;top:0;' onClick='goHome()'>");
for(var i=0;i<imMaxCh;i++)
{
var j=Math.round(Math.random())+1
document.write("<img src='buble"+j+".gif' width=32
height=32 style='position:absolute;left:-200px;' name='imch"+i+"'>");
}
imgInit();
function imgInit()// 初期設定
{
if(document.getElementById){bw=1;}// ネスケ6〜 IE5〜なら真
if((document.all)&&(bw==1)){bw=2;}// IE4〜なら真
if(bw==0)
{
alert("ブラウザバージョンが対応していません\n最新のブラウザに更新してください\n推奨バージョン(NN6〜,IE5〜)\n +1JavaScript");
return;
}
imMxSet();
for(var i=0;i<imMaxCh;i++)// 画像の変数の初期設定
{
imX[i]=Math.floor(Math.random()*imWx);
imY[i]=Math.floor(Math.random()*imWy);
imZ[i]=Math.floor(Math.random()*(imMz-1)*2)-(imMz-1);
if(Math.random()<0.5){imW[i]=1;}else{imW[i]=-1;}
}
imMain();
}
function imMxSet()// ウインドウをリサイズした時にウインドウの幅と高さを取得
{
if(bw==1)// ネスケの場合
{
imWx=window.innerWidth+window.pageXOffset-15;
imWy=window.innerHeight+window.pageYOffset;
}
if(bw==2)// IEの場合
{
imWx=window.document.body.clientWidth+document.body.scrollLeft;
imWy=window.document.body.clientHeight+document.body.scrollTop;
}
}
function goHome()
{
window.open("http://plusone.jpn.org/javascript/");
}
function imMain()// メインルーチン
{
var x,y;
imMxSet();
for(var i=0;i<imMaxCh;i++)
{
imX[i]+=imZ[i];
imA++;
if(imA==3)
{
imA=0;
imZ[i]+=imW[i];
if(Math.abs(imZ[i])>imMz){imW[i]=-imW[i];}
}
imY[i]-=2;
if(imY[i]<-32)// 画面から消えたら下に戻す
{
imX[i]=Math.floor(Math.random()*imWx);
imY[i]=imWy;
}
x=imX[i];
y=imY[i];
if(x>imWx-document.images["imch"+i].width){x=-100;}
if(y>imWy-document.images["imch"+i].height){y=-100;}
document.images["imch"+i].style.left=x;// 画像の座標の変更
document.images["imch"+i].style.top=y;
}
if(bw==2){setTimeout("imMain()",50);}else{setTimeout("imMain()",40);}// 割込処理
}
|
|