Простой снег на сайт на JavaScript

Простой снег на сайт на JavaScript

122018-12-09220995Денис Абдуллин

Снег на сайт – это способ украшения сайта к новому году. Снег на сайте на JavaScript сделать легко, просто скопируйте код и вставьте на свой сайт. Плавно падающие снежинки не образуют сугробы на сайте в отличие от снега на JQuery.

Вставить код скрипта можно прямо в <head> нашего HTML документа. В скрипте Вы можете самостоятельно выбрать количество падающих снежинок, задать свои изображения и установить скорость падения снега. На сайте все будет смотреться хорошо именно без редактируемого кода, т.е. настройки менять не стоит, а вот графику поменять можно, если у вас белый фон.

Нарисованные голубые снежинки не выглядят реалистичными, а вот простые кргуляшки – да, поэтому здесь используется второй вариант.

Код JavaScript


Code
<script language="JavaScript1.2" type="text/javascript">

snejinki=new Array(3); // количество снежинок

// Картинки - снежинки
Image0=new Image(); Image0.src=snejinki[0]="//yraaa.ru/test/131/img/sneg1.png";
Image1=new Image(); Image1.src=snejinki[1]="//yraaa.ru/test/131/img/sneg2.png";
Image2=new Image(); Image2.src=snejinki[2]="//yraaa.ru/test/131/img/sneg3.png";

Amount=15; // густота снега
Ypos=new Array();
Xpos=new Array();
Speed=new Array();
Step=new Array();
Cstep=new Array();
ns=(document.layers)?1:0;
ns6=(document.getElementById&&!document.all)?1:0;
  if (ns){
for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*snejinki.length);
rndPic=snejinki[P];
document.write("<LAYER NAME='sn"+i+"' LEFT=0 TOP=0><img src="+rndPic+"></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()*snejinki.length);
rndPic=snejinki[P];//osw
document.write('<img id="si'+i+'" src="'+rndPic+'" style="position:absolute;top:0px;left:0px">');
}
document.write('</div></div>');
}
WinHeight=600;
WinWidth=(ns||ns6)?window.innerWidth-70: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]= 1.2;
  Cstep[i]=0;
  Step[i]=Math.random()*0.1+0.2;
}
function fall(){
var WinHeight=600;
var WinWidth=(ns||ns6)?window.innerWidth-70:window.document.body.clientWidth;
var hscrll=(ns||ns6)?window.pageYOffset:document.body.scrollTop;
var wscrll=(ns||ns6)?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]=1;
}
if (ns){
document.layers['sn'+i].left=Xpos[i];
document.layers['sn'+i].top=Ypos[i]+hscrll;
}
else if (ns6){
document.getElementById("si"+i).style.left=Math.min(WinWidth,Xpos[i]);
document.getElementById("si"+i).style.top=Ypos[i]+hscrll;
}
else{
eval("document.all.si"+i).style.left=Xpos[i];
eval("document.all.si"+i).style.top=Ypos[i]+hscrll;
}
Cstep[i]+=Step[i];
}
setTimeout('fall()',50); // скорость снежинок
}

window.onload=fall
//-->
</script>

С картинками Вы можете поэкспериментировать. Этот скрипт универсальный: настроив его определенные фрагменты, можно сделать дождь или даже осенний листопад.


Создать сайт в uKit Нужен классный сайт для бизнеса?
Воспользуйтесь сервисом uKit. Никакого кода!
Комментарии (5)
Филипп 2012-10-23 в 20:58 / МатериалСпам
Бредовый снег!
0
Кирилл Косырев 2012-10-23 в 22:20 / МатериалСпам
Согласен
1
Гладнев Ярослав 2012-10-24 в 00:24 / МатериалСпам
Красиво и просто смотриться...
1
Гость 2013-04-27 в 20:26 / МатериалСпам
а как подключить скрипты js на uCoz?
0
Гость 2013-04-27 в 20:27 / МатериалСпам
а писать надо над <head> или в нём
0
Чтобы оставить комментарий или отзыв под этой публикацией, войдите или зарегистрируйтесь.