| |
| 1 |
まずは降らせたい画像を用意して、表示させたいページを開き、<body>と</body>の間に ↓をコピー&ペーストしましょう。
|
| 2 |
<SCRIPT
LANGUAGE="JavaScript1.2"> <!-- Begin //<!-- Original:
Altan (snow@altan.hr) --> //<!-- Web Site:
http://www.altan.hr/snow --> // Script arranged by Hisa
(http://homepage1.nifty.com/ikitai/)
var no = 4; //
1画面に出る画像の枚数 snow = new Array(); snow[0] = new Array("画像.gif",
1); // 画像の指定。snow[?]の数字は0から始まる連番 snow[1] = new Array("画像.gif",
2); // 後ろの数字が1なら下から上、2なら上から下 snow[2] = new Array("画像.gif", 3); //
3なら左から右、4なら右から左。 snow[3] = new Array("画像.gif", 4); var imgSize
= 55; // 1番大きい画像の横幅+10ぐらいを指定する。
// _dom : 0=other, 1=Mozilla,
2=NN4, 3=IE4/5 var
_dom=(document.all?3:(document.getElementById?1:(document.layers?2:0))); var
dx, xp, yp; var am, stx, sty; var i;
function
getDocumentSize() { if(_dom == 1 || _dom == 2) { doc_width =
self.innerWidth; doc_height = self.innerHeight; } if (_dom
== 3) { doc_width = document.body.clientWidth; doc_height =
document.body.clientHeight; } }
getDocumentSize();
dx
= new Array(); xp = new Array(); yp = new Array(); am = new
Array(); stx = new Array(); sty = new Array(); muki = new
Array(); j = 0;
for (i = 0; i < no; ++ i) { dx[i] =
0; xp[i] = Math.random()*(doc_width-imgSize); yp[i] =
Math.random()*(doc_height-imgSize); am[i] =
Math.random()*20; stx[i] = (snow[j][1] == 1 || snow[j][1] == 2) ?
0.02 + Math.random()/10 : 0.7 + Math.random(); sty[i] =
(snow[j][1] == 1 || snow[j][1] == 2) ? 0.7 + Math.random() : 0.02 +
Math.random()/10; muki[i] = snow[j][1]; if (_dom==2)
{ document.write("<layer name=\"dot"+ i +"\" left=\"15\"
top=\"15\" visibility=\"show\"><img src=\"" + snow[j][0] + "\"
border=\"0\"></layer>"); } else if (_dom==1 || _dom==3)
{ document.write("<div id=\"dot"+ i +"\" style=\"POSITION:
absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT:
15px; width:1;\"><img src=\"" + snow[j][0] + "\"
border=\"0\"></div>"); } if (j == (snow.length-1)) {
j = 0; } else { j += 1; } }
function snowLoop() { for
(i = 0; i < no; ++ i) { if (muki[i] == 1) { yp[i] -=
sty[i]; if (yp[i] < -imgSize) { getDocumentSize(); xp[i]
= Math.random()*(doc_width-am[i]-imgSize); yp[i] = doc_height -
50; stx[i] = 0.02 + Math.random()/10; sty[i] = 0.7 +
Math.random(); } } else if (muki[i] == 2) { yp[i] +=
sty[i]; if (yp[i] > doc_height-imgSize)
{ getDocumentSize(); xp[i] =
Math.random()*(doc_width-am[i]-imgSize); yp[i] = 0; stx[i] =
0.02 + Math.random()/10; sty[i] = 0.7 + Math.random(); } }
else if (muki[i] == 3) { xp[i] += stx[i]; if (xp[i] >
doc_width-imgSize) { getDocumentSize(); xp[i] = 0; yp[i] =
Math.random()*(doc_height-am[i]-imgSize); sty[i] = 0.02 +
Math.random()/10; stx[i] = 0.7 + Math.random(); } } else if
(muki[i] == 4) { xp[i] -= stx[i]; if (xp[i] < -imgSize)
{ getDocumentSize(); xp[i] = doc_width - imgSize; yp[i] =
Math.random()*(doc_height-am[i]-imgSize); sty[i] = 0.02 +
Math.random()/10; stx[i] = 0.7 + Math.random(); } } if
(muki[i] == 1 || muki[i] == 2) { dx[i] +=
stx[i]; snowMove("dot"+i,yp[i],xp[i] +
am[i]*Math.sin(dx[i])); } else { dx[i] +=
sty[i]; snowMove("dot"+i,yp[i] +
am[i]*Math.sin(dx[i]),xp[i]); } } setTimeout("snowLoop()",
10); }
function snowMove(lay,t,l) { if (_dom == 1)
{ document.getElementById(lay).style.top =
t; document.getElementById(lay).style.left = l; } if (_dom
== 2) { document.layers[lay].top =
t; document.layers[lay].left = l; } if (_dom == 3)
{ document.all[lay].style.pixelTop =
t; document.all[lay].style.pixelLeft = l; } }
if
(_dom) { snowLoop(); }
// End
--> </SCRIPT>
|
| 3 |
上の方にある「1画面に出る画像の枚数」から「1番大きい画像の横幅+10ぐらいを指定する」までを書き換えます。
画像の枚数はあんまり多くない方がすっきり見えます〜。
snow[0] = new Array("画像.gif", 1);
*snow[0]の[0]は指定する画像の数に応じて順番に数を増やして行きます。
*"画像.gif"は画像のURLを入れます。(画像と表示させるページが別のフォルダにある場合はパスが通る様に)
*最後の, 1)は降らせる方向。
それ以下は触らないようにしましょう〜♪ | |
|