var snowmax = 35; var snowcolor = ["#AAAACC","#DDDDFF","#CCCCDD","#F3F3F3","#F0FFFF","#FFFFFF","#EFF5FF"]; var snowtype = ["Arial Black","Arial Narrow","Times","Comic Sans MS"]; var snowletter = "*"; var sinkspeed = 0.6; var snowmaxsize = 40; var snowminsize = 8; var snowingzone = 1; var snow = []; var timer; var x_mv = []; var crds = []; var lftrght = []; 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) { return Math.floor(range * Math.random()); } function initsnow() { var marginbottom = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); var marginright = Math.max(document.body.scrollWidth, document.documentElement.scrollWidth); var snowsizerange = snowmaxsize - snowminsize; for (var 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 + "px"; 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(marginbottom) - snow[i].size; snow[i].style.left = snow[i].posx + "px"; snow[i].style.top = snow[i].posy + "px"; } movesnow(); } function movesnow() { var marginbottom = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); var marginright = Math.max(document.body.scrollWidth, document.documentElement.scrollWidth); for (var 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; } } timer = setTimeout(movesnow, 25); } // создаём элементы снега for (var i = 0; i <= snowmax; i++) { document.write("" + snowletter + ""); } if (browserok) { window.onload = initsnow; }