Schneeflocken Script

welli schrieb am 03.12.2014 um 19:27 Uhr

Hallo, habe mal eine Frage. Ich wollte wieder Schnneflocken auf meine Homepage zaubern. Vorriges Jahre habe ich das irgend wie hinbekommen. Jetzt gelingt es nicht mehr :-((

 

Kann mit wer helfen? Ich habe folgenden Quellcode aus dem Internet:

<script language="JavaScript" type="text/javascript">
<!--
var numImages = 1;
var numFlakes = 20;
var ns  = (document.layers)?1:0;
var ns6 = (document.getElementById&&!document.all)?1:0;
var opera5 = (navigator.userAgent.indexOf("Opera") > -1 && document.getElementById) ? 1:0;
var winWidth  = (ns||ns6||opera5)?window.innerWidth-70:window.document.body.clientWidth;
var winHeight = (ns||ns6||opera5)?window.innerHeight:window.document.body.clientHeight;
var flakeX = new Array();
var flakeY = new Array();
var flakeSpeed = new Array();
var flakeStep  = new Array();
var flakeStep2 = new Array();
for (i=0; i<numImages; i++)
{
eval('imgFlake' + i + '=new Image();');
eval('imgFlake' + i + '.src="http://www.iphpbb.com/board/images/snowsmall.gif";');
}
if (ns)
{
for (i=0; i<numFlakes; i++)
{
eval('var picSource=imgFlake' + Math.floor(Math.random()*numImages) + '.src;');
document.write('<LAYER name="layerFlake' + i + '" left="0" top="0"><IMG src="' + picSource + '"></LAYER>');
}
} else {
document.write('<DIV style="position:absolute;top:0px;left:0px"><DIV style="position:relative">');
for (i=0; i<numFlakes; i++)
{
eval('var picSource=imgFlake' + Math.floor(Math.random()*numImages) + '.src;');
document.write('<IMG id="layerFlake' + i + '" src="' + picSource + '" style="position:absolute;top:0px;left:0px">');
}
document.write('</DIV></DIV>');
}
for (i=0; i<numFlakes; i++)
{
flakeX[i] = Math.round(Math.random()*winWidth);
flakeY[i] = Math.round(Math.random()*winHeight);
flakeSpeed[i] = Math.random()*3+3;
flakeStep[i]  = Math.random()*0.1+0.05;
flakeStep2[i] = 0;
}
function fLetItSnow()
{
var winWidth  = (ns||ns6||opera5)?window.innerWidth-70:window.document.body.clientWidth;
var winHeight = (ns||ns6||opera5)?window.innerHeight:window.document.body.clientHeight;
var wscrll    = (ns||ns6||opera5)?window.pageXOffset:document.body.scrollLeft;
var hscrll    = (ns||ns6||opera5)?window.pageYOffset:document.body.scrollTop;
for (i=0; i<numFlakes; i++){
speedX = flakeSpeed[i]*Math.cos(flakeStep2[i])/2;
speedY = flakeSpeed[i]*Math.sin(90*Math.PI/180);
flakeX[i] += speedX;
flakeY[i] += speedY;
if (flakeY[i]>winHeight)
{
flakeX[i]=Math.round(Math.random()*winWidth);
flakeY[i]=-100;
flakeSpeed[i]=Math.random()*3+3;
}
if (ns)
{
document.layers['layerFlake' + i].left = flakeX[i];
document.layers['layerFlake' + i].top  = flakeY[i] + hscrll;
} else if (ns6||opera5) {
document.getElementById("layerFlake" + i).style.left = Math.min(winWidth,flakeX[i]);
document.getElementById("layerFlake" + i).style.top  = flakeY[i] + hscrll;
} else {
eval("document.all.layerFlake" + i).style.left = flakeX[i];
eval("document.all.layerFlake" + i).style.top  = flakeY[i] + hscrll;
}
flakeStep2[i]+=flakeStep[i];
}
setTimeout('fLetItSnow()', 20);
}
// -->
</script>
<script language="JavaScript">
<!--
fLetItSnow();
//-->
</script>

Viele Dank

Kommentare

BeRo schrieb am 03.12.2014 um 22:21 Uhr

Den "Riesencode" brauchst Du nicht, wenn Du die Lösung einbaust, die @BilderMacher hier gepostet hat.

Die da geschilderte Prozedur kannst aber noch deutlich vereinfachen, wenn du den u. a. JS Code in den HTML Body der Seite einbaust, auf der es schneien soll...

----------------------------
<script type="text/javascript" src="http://#www.go4u.de/downloads/javascript/snowflakes/snowflakes.js"></script>
----------------------------

Mehr ist nicht zu tun

Viel Erfolg

-----------------
P.S.
Das im Code gelb markierte Hash Zeichen musst Du vor dem Einbau des Codes löschen. Ich habe es hier eintragen müssen, weil der Forum Editor mal wieder "spinnt" und den kompletten Text, der nach einem "http:" erscheint, löscht, wenn es sich um eine URL handelt...

 

Zuletzt geändert von BeRo am 03.12.2014, 22:26, insgesamt 3-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

welli schrieb am 04.12.2014 um 19:51 Uhr

Hallo, hat alles geklappt. Vielen Dank