schnee effeckt und fehler Korektur
This commit is contained in:
101
main/schnee.js
Normal file
101
main/schnee.js
Normal file
@@ -0,0 +1,101 @@
|
||||
// Anzahl der Schneeflocken (mehr als 30 - 40 nicht empfehlenswert)
|
||||
var snowmax=40;
|
||||
|
||||
// Farben der Schneeflocken. Es können beliebig viele Farben angegeben werden
|
||||
var snowcolor=new Array("#AAAACC","#DDDDFF","#CCCCDD","#F3F3F3","#F0FFFF");
|
||||
|
||||
// Fonts, welche die Schneeflocken erzeugen. Beliebig viele Fonts ergänzbar
|
||||
var snowtype=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS");
|
||||
|
||||
// Zeichen für die Schneeflocke (empfohlen: * )
|
||||
var snowletter="●";
|
||||
|
||||
// Fallgeschwindigkeit (empfohlen sind Werte zwischen 0.3 bis 2)
|
||||
var sinkspeed=0.6;
|
||||
|
||||
// Maximale Größe der Schneeflocken
|
||||
var snowmaxsize=22;
|
||||
|
||||
// Minimale Größe der Schneeflocken
|
||||
var snowminsize=8;
|
||||
|
||||
/* Schnee-Zone:
|
||||
** 1 für überall, 2 für Schneefall nur auf der linken Seite
|
||||
** 3 für Schneefall in der Mitte, 4 für Schneefall nur auf der rechten Seite */
|
||||
var snowingzone=1;
|
||||
|
||||
/*
|
||||
* Ab hier nichts mehr ändern *
|
||||
*/
|
||||
|
||||
var snow=new Array();
|
||||
var marginbottom;
|
||||
var marginright;
|
||||
var timer;
|
||||
var i_snow=0;
|
||||
var x_mv=new Array();
|
||||
var crds=new Array();
|
||||
var lftrght=new Array();
|
||||
var browserinfos=navigator.userAgent;
|
||||
var ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/);
|
||||
var ns6=document.getElementById&&!document.all;
|
||||
var opera=browserinfos.match(/Opera/);
|
||||
var browserok=ie5||ns6||opera;
|
||||
|
||||
function randommaker(range) {
|
||||
rand=Math.floor(range*Math.random());
|
||||
return rand;
|
||||
}
|
||||
|
||||
function initsnow() {
|
||||
if (ie5 || opera) {
|
||||
marginbottom = document.body.clientHeight;
|
||||
marginright = document.body.clientWidth;
|
||||
}
|
||||
else if (ns6) {
|
||||
marginbottom = window.innerHeight;
|
||||
marginright = window.innerWidth;
|
||||
}
|
||||
var snowsizerange=snowmaxsize-snowminsize;
|
||||
for (i=0;i<=snowmax;i++) {
|
||||
crds[i] = 0;
|
||||
lftrght[i] = Math.random()*15;
|
||||
x_mv[i] = 0.03 + Math.random()/10;
|
||||
snow[i]=document.getElementById("s"+i);
|
||||
snow[i].style.fontFamily=snowtype[randommaker(snowtype.length)];
|
||||
snow[i].size=randommaker(snowsizerange)+snowminsize;
|
||||
snow[i].style.fontSize=snow[i].size;
|
||||
snow[i].style.color=snowcolor[randommaker(snowcolor.length)];
|
||||
snow[i].sink=sinkspeed*snow[i].size/5;
|
||||
if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size);}
|
||||
if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size);}
|
||||
if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4;}
|
||||
if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2;}
|
||||
snow[i].posy=randommaker(2*marginbottom-marginbottom-2*snow[i].size);
|
||||
snow[i].style.left=snow[i].posx;
|
||||
snow[i].style.top=snow[i].posy;
|
||||
}
|
||||
movesnow();
|
||||
}
|
||||
|
||||
function movesnow() {
|
||||
for (i=0;i<=snowmax;i++) {
|
||||
crds[i] += x_mv[i];
|
||||
snow[i].posy+=snow[i].sink;
|
||||
snow[i].style.left=(snow[i].posx+lftrght[i]*Math.sin(crds[i])) + "px";
|
||||
snow[i].style.top=snow[i].posy + "px";
|
||||
|
||||
if (snow[i].posy>=marginbottom-2*snow[i].size || parseInt(snow[i].style.left)>(marginright-3*lftrght[i])){
|
||||
if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size);}
|
||||
if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size);}
|
||||
if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4;}
|
||||
if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2;}
|
||||
snow[i].posy=0;
|
||||
}
|
||||
}
|
||||
var timer=setTimeout("movesnow()",50);
|
||||
}
|
||||
|
||||
for (i=0;i<=snowmax;i++) {
|
||||
document.write("<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"px;'>"+snowletter+"</span>");
|
||||
}
|
||||
Reference in New Issue
Block a user