<script language="javascript" type="text/javascript">
<!--
Amount = 70; Image0 = new Image();
Image0.src = "http://szenprogs.ru/images/snow/snow1.gif";
grphcs = new Array(1);
grphcs[0] = "http://szenprogs.ru/images/snow/snow1.gif";
Ypos = new Array();
Xpos = new Array();
Speed = new Array();
Step = new Array();
Cstep = new Array();
var YPosA;
ns = (document.layers)?1:0;
if (ns) {
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><a http://szenprogs.ru/blog/2009-05-06-41 ><img src="+rndPic+"><\/a><\/LAYER>");
}
} else {
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'+i+'" src="'+rndPic+'" style="position:absolute; top:0px; left:0px; width:20px; height:20px;">');
}
document.write('<\/div><\/div>');
}
WinHeight=(document.layers)?window.innerHeight:window.document.body.clientHeight;
WinWidth=(document.layers)?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 = (document.layers)?window.innerHeight:window.document.body.clientHeight;
var WinWidth = (document.layers)?window.innerWidth:window.document.body.clientWidth;
var hscrll = (document.layers)?window.pageYOffset:document.body.scrollTop;
var wscrll = (document.layers)?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 (ns) {
document.layers['sn'+i].left = Xpos[i];
document.layers['sn'+i].top = Ypos[i]+hscrll;
} else {
document.getElementById('si'+i).style.left = Xpos[i]+'px';
YPosA=Ypos[i]+hscrll;
document.getElementById('si'+i).style.top = YPosA+'px';
}
Cstep[i] += Step[i];
}
setTimeout('fall()',10);
}
fall();
//-->
</script>
--------------------------------------------------------------
При вставке скрипта в начало страницы, снег начнет падать сразу с момента входа на страницу. Если скрипт в конце страницы, то и снег пойдет только после загрузки страницы полностью.
Расшифруем некоторые параметры скрипта:
Amount = 100; - это количество видимых на странице снежинок .
Image0.src = "http://szenprogs.ru/images/snow/snow1.gif"; и grphcs[0] = "http://szenprogs.ru/images/snow/snow1.gif" - путь к изображениям снежинок .
width:20px; height:20px; - высота и ширина снежинок .
При желании можно выводить не один, а несколько типов снежинок . Для этого в скрипте нужно будет заменить текст:
Code
Image0 = new Image();
Image0.src = "http://szenprogs.ru/images/snow/snow1.gif";
grphcs = new Array(1);
grphcs[0] = "http://szenprogs.ru/images/snow/snow1.gif";
вот этим:
Code
Image0 = new Image();
Image0.src = "http://szenprogs.ru/images/snow/snow1.gif";
Image1 = new Image();
Image1.src = "http://szenprogs.ru/images/snow/snow2.gif";
Image2 = new Image();
Image2.src = "http://szenprogs.ru/images/snow/snow3.gif";
Image3 = new Image();
Image3.src = "http://szenprogs.ru/images/snow/snow4.gif";
Image4 = new Image();
Image4.src = "http://szenprogs.ru/images/snow/snow5.gif";
Image5 = new Image();
Image5.src = "http://szenprogs.ru/images/snow/snow6.gif";
grphcs = new Array(1);
grphcs[0] = "http://szenprogs.ru/images/snow/snow1.gif";
grphcs[1] = "http://szenprogs.ru/images/snow/snow2.gif";
grphcs[2] = "http://szenprogs.ru/images/snow/snow3.gif";
grphcs[3] = "http://szenprogs.ru/images/snow/snow4.gif";
grphcs[4] = "http://szenprogs.ru/images/snow/snow5.gif";
grphcs[5] = "http://szenprogs.ru/images/snow/snow6.gif