Hi Christian, vielleicht hilft dir das!
<html>
<body>
<!--Achtung das script unbedingt innerhalb des Bodytags einbinden!!!!! --//-->
<script type="text/javascript" src="snow1.js"></script>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<nobr> Testzeile zum scrolltest Testzeile zum scrolltest Testzeile zum scrolltest Testzeile zum scrolltest Testzeile zum scrolltest Testzeile zum scrolltest </nobr>
</body>
</html>
Hier die Javascriptdatei -snow1.js-
var no = 18; //Anzahl der schneeflocken
var tempo=10 //geschwindigkeit mit der die Flocken fallen
var schritt=1 //schrittweite mit der die Flocken fallen
//hier die Bilder für die unterschiedlichen Flocken
//alle bilder müssen gleich groß sein
bilder=new Array("snow1.gif","snow2.gif","snow3.gif")//kannst du beliebig erweitern
//hoehe und breite der Bilder angeben !!!!!!!!
bildbreite=50
bildhoehe=50
//Browserabfrage
var ns4 = (document.layers) ? 1 : 0;
var ie4 = (document.all) ? 1 : 0;
var ns6 = (document.getElementById&&!document.all) ? 1 : 0;
var pos_ko
if (ns4||ns6)
{
//hoehe und Breite des Browserfensterns innen
browserbreite = parseInt(self.innerWidth)
browserhoehe = parseInt(self.innerHeight)
}
else if (ie4)
{
//hoehe und Breite des Browserfensterns innen
browserbreite = parseInt(document.body.clientWidth)
browserhoehe = parseInt(document.body.clientHeight)
}
pos_ko=new Array()
//schleife zum füllen und erstellen der Flockenfelder
for (i = 0; i < no; ++ i)
{
//zufälliges Bild zuweisen
snowsrc=bilder[Math.floor(Math.random()*bilder.length)]
if(ns4)
document.write("<layer name="flocke"+ i +"" TOP="15" LEFT="15px";><img src='"+snowsrc+"' border="0"></layer>");
else
document.write("<div id="flocke"+ i +"" style="POSITION:absolute;Z-INDEX:"+ i +";VISIBILITY:visible;TOP:15px; LEFT:15px;"><img src='"+snowsrc+"' border="0"></div>");
init()
}
//initialisieren der positionswerte und schritte
//function wird beim Start der Seite aufgerufen und bei Größenänderungen
function init()
{
pos_ko[i]=new Array()
pos_ko[i][0] = 0; // Anfangsposition innerhalb der amplitude
pos_ko[i][1] = Math.random()*(browserbreite-bildbreite); //horizontale Anfangsposition der Flocke
pos_ko[i][2] = Math.random()*(browserhoehe-bildhoehe); //Vertikale Anfangsposition der Flocke
pos_ko[i][3] = Math.random()*20; // bestimmt die breite der Amplitude
pos_ko[i][4] =0.02+ Math.random()/10; // Bewegung innerhalb der Amplitude
pos_ko[i][5] = schritt + Math.random(); // bewegung der Flocke nach unten
}
function schneefall()
{
//scrollpositionen dazuaddieren
addposy=0
addposx=0
if(document.all)
{
addposy=parseInt(document.body.scrollTop)
addposx=parseInt(document.body.scrollLeft)
}
else
{
addposy=parseInt(window.pageYOffset);
addposx=parseInt(window.pageXOffset);
}
//neue Position für jede Flocke
for (i = 0; i < no; ++ i)
{
pos_ko[i][2] += pos_ko[i][5];
//maximale Browserhoehe erreicht
//Flocke neu Positionieren am oberen Rand
if (pos_ko[i][2] > browserhoehe-bildhoehe)
{
pos_ko[i][1] = Math.random()*(browserbreite-pos_ko[i][3]-(bildbreite/2));
pos_ko[i][2] = 0
pos_ko[i][4] =0.02+ Math.random()/10;
pos_ko[i][5] =schritt + Math.random();
}
pos_ko[i][0] += pos_ko[i][4];
if (ie4)
{
document.all["flocke"+i].style.pixelTop = pos_ko[i][2]+addposy;
document.all["flocke"+i].style.pixelLeft = pos_ko[i][1] + pos_ko[i][3]*Math.sin(pos_ko[i][0])+ addposx; ;
if(browserbreite!=parseInt(document.body.clientWidth)|| browserhoehe!=parseInt(document.body.clientHeight))
{
//browser in Größe verändert?
//werte anpassen und neu initialisieren
browserbreite=parseInt(document.body.clientWidth)
browserhoehe=parseInt(document.body.clientHeight)
init()
}
}
else if (ns6)
{
//browser in Größe verändert?
//werte anpassen und neu initialisieren
document.getElementById("flocke"+i).style.top=pos_ko[i][2]+addposy;
document.getElementById("flocke"+i).style.left=pos_ko[i][1] + pos_ko[i][3]*Math.sin(pos_ko[i][0]) + addposx; ;
browserbreite=parseInt(window.innerWidth)
browserhoehe=parseInt(window.innerHeight)
}
else if(ns4)
{
//browser in Größe verändert?
//werte anpassen und neu initialisieren
document.layers["flocke"+i].top=pos_ko[i][2]+addposy;
document.layers["flocke"+i].left=pos_ko[i][1] + pos_ko[i][3]*Math.sin(pos_ko[i][0]) +addposx;
browserbreite=parseInt(window.innerWidth)
browserhoehe=parseInt(window.innerHeight)
}
}
//function ruft sich selber nach vorgegebener Zeit wieder auf
schneetimer=setTimeout("schneefall()", tempo);
}
// anzeige initialisieren
init()
//schneefall starten
schneefall();