[SnowFall]

Schneefall Script

[Code]

[zwischen <BODY> und </BODY>]

<script language="JavaScript">
<!--
/* Snowfall Script by kurt.grigg@virgin.net
* modified by N8i (www.nightfire.ch)
* Script works now with DOM browsers too
*/


//Browser Sniffer
var ns4up = (document.layers) ? 1 : 0;
var ie4up = (document.all) ? 1 : 0;
var mozup = (!document.all && document.getElementById) ? 1 : 0;

Amount=20; //Smoothness! depends on image file size, the smaller the size the more you can use!

//Pre-load your image below!
Image0=new Image();
Image0.src="flake1.gif";
Image1=new Image();
Image1.src="flake2.gif";
Image2=new Image();
Image2.src="flake3.gif";
Image3=new Image();
Image3.src="flake4.gif";
Image4=new Image();
Image4.src="flake5.gif";

grphcs=new Array(5)
grphcs[0]="flake1.gif"
grphcs[1]="flake2.gif"
grphcs[2]="flake3.gif"
grphcs[3]="flake4.gif"
grphcs[4]="flake5.gif"

Ypos=new Array();
Xpos=new Array();
Speed=new Array();
Step=new Array();
Cstep=new Array();

if (ns4up){
for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*grphcs.length);
rndPic=grphcs[P];
document.write("<LAYER NAME='sn"+i+"' LEFT=0 TOP=0><img src="+rndPic+"></LAYER>");
}
} else if (ie4up) {
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*grphcs.length);
rndPic=grphcs[P];
document.write('<img id="si" src="'+rndPic+'" style="position:absolute;top:0px;left:0px">');
}
document.write('</div></div>');
} else if (mozup) {
for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*grphcs.length);
rndPic=grphcs[P];
document.write("<div id='sn"+i+"' style='position:absolute;top:0px;left:0px'><img src="+rndPic+"></div>");
}
}

WinHeight=(ns4up || mozup)?window.innerHeight:window.document.body.clientHeight;
WinWidth=(ns4up || mozup)?window.innerWidth:window.document.body.clientWidth;
for (i=0; i < Amount; i++){
Ypos[i] = Math.round(Math.random()*WinHeight);
Xpos[i] = Math.round(Math.random()*WinWidth);
Speed[i]= Math.random()*3+2;
Cstep[i]=0;
Step[i]=Math.random()*0.1+0.05;
}

function fall(){
var WinHeight=(ns4up || mozup)?window.innerHeight:window.document.body.clientHeight;
var WinWidth=(ns4up || mozup)?window.innerWidth:window.document.body.clientWidth;
var hscrll=(ns4up || mozup)?window.pageYOffset:document.body.scrollTop;
var wscrll=(ns4up || mozup)?window.pageXOffset:document.body.scrollLeft;
for (i=0; i < Amount; i++){
sy = Speed[i]*Math.sin(90*Math.PI/180);
sx = Speed[i]*Math.cos(Cstep[i]);
Ypos[i]+=sy;
Xpos[i]+=sx;
if (Ypos[i] > WinHeight){
Ypos[i]=-60;
Xpos[i]=Math.round(Math.random()*WinWidth);
Speed[i]=Math.random()*5+2;
}
if (ns4up){
document.layers['sn'+i].left=Xpos[i];
document.layers['sn'+i].top=Ypos[i]+hscrll;
} else if (ie4up) {
si[i].style.pixelLeft=Xpos[i];
si[i].style.pixelTop=Ypos[i]+hscrll;
} else {
document.getElementById("sn"+i).style.left = Xpos[i];
document.getElementById("sn"+i).style.top = Ypos[i]+hscrll;
}
Cstep[i]+=Step[i];
}
setTimeout('fall()',10);
}

window.onload=fall;
//-->
</script>

[Autor]


Kurt Grigg
modified by N8i (www.nightfire.ch)

[Download]

Copyright © 1998- Nightfire Webworker Archiv Script No: 516