IEのみで動きます。とりあえずサンプルを見てください。
IE6、CPU1Gで最適化してあるので環境によってはつらいかもしれませんが・・・

●雪を降らせる
★星を降らせる
注)雪と星を切り替える前にページをリロードしてください



以下のものはページをロードした時から雪や星が降っている状態です。

●雪
<BODY>の中に
onLoad="setInterval('snowMove()',10)"
を書き込み、その後に下のJajaScriptソースを貼り付けます。
<script language="JavaScript">
if(navigator.userAgent.indexOf('MSIE')>=0){
var Snow = 40;//雪の数
xpos = new Array();
ypos = new Array();
for (i = 0; i < Snow; i++) {
xpos[i] = Math.random()*document.body.clientWidth-15;
ypos[i] = Math.random()*document.body.clientHeight-15;
document.write("<div id='s"+ i +"' style='POSITION: absolute; Z-INDEX: "+
i +"; VISIBILITY: visible;color:#ffffff;font-size:"+ (4+i/4) +"px'></div>");//降るものの形
} function snowMove() {
for (i = 0; i < Snow; i++) {
ypos[i] =ypos[i]+i/5+2;//雪の動き縦
if (ypos[i] > document.body.clientHeight+document.body.scrollTop-15 || xpos[i] > document.body.clientWidth-15) {
ypos[i] = 0;
xpos[i]=Math.random()*document.body.clientWidth-15;
}
document.all["s"+i].style.pixelTop = ypos[i];
document.all["s"+i].style.pixelLeft = xpos[i];
}
}
}
</script>

★星
<BODY>の中に
onLoad="setInterval('starMove()',10)"
を書き込み、その後に下のJajaScriptソースを貼り付けます。
<script language="JavaScript">
if(navigator.userAgent.indexOf('MSIE')>=0){
var sStar = 40;//数
sxpos = new Array();
sypos = new Array();
for (i = 0; i < sStar; i++) {
sxpos[i] = Math.random()*document.body.clientWidth-15;
sypos[i] = Math.random()*document.body.clientHeight-15;
document.write("<div id='ss"+ i +"' style='POSITION: absolute; Z-INDEX: "+
i +"; VISIBILITY: visible;color:#ffff77;font-size:"+ (4+i/4) +"px'></div>");//降るものの形
}
function starMove() {
for (i = 0; i < sStar; i++) {
sypos[i] =sypos[i]+i/5+2;//動き縦
sxpos[i] =sxpos[i]+i/20+5; //横
if (sypos[i] > document.body.clientHeight+document.body.scrollTop-15 || sxpos[i] > document.body.clientWidth-15) {
sypos[i] = 0;
sxpos[i]=Math.random()*document.body.clientWidth-15;
} document.all["ss"+i].style.pixelTop = sypos[i];
document.all["ss"+i].style.pixelLeft = sxpos[i];
}
}
}
</script>


おまけ
この部分を見ると手前と裏を通る雪があると思います。
この部分を
style="POSITION:absolute; Z-INDEX:30;"
としてあります。
雪のZ-INDEXが0〜40までついているので0〜29までが後ろを30〜40が手前を通っています。


- Labo TOP -