Скрипт падающих снежинок

123 4
mff
На сайте с 21.02.2008
Offline
266
mff
5610

Господа! Скоро Новый год и встала задача - украсить свои сайты.

Я нашел не плохой скрипт падающих снежинок, не использующий графики:

<script language="javascript">

var snowmax=45;
var snowcolor=new Array("#AAAACC","#DDDDFF","#CCCCDD","#F3F3F3","#F0FFFF");
var snowtype=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS");
var snowletter="*";

// 0.3 to 2
var sinkspeed=0.6;
var snowmaxsize=40;
var snowminsize=10;

// the snowing-zone
// Set 1 for all-over-snowing, set 2 for left-side-snowing
// Set 3 for center-snowing, set 4 for right-side-snowing
var snowingzone=1;

//osw
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 = 0;
lftrght = Math.random()*15;
x_mv = 0.03 + Math.random()/10;
snow=document.getElementById("s"+i);
snow.style.fontFamily=snowtype[randommaker(snowtype.length)];
snow.size=randommaker(snowsizerange)+snowminsize;
snow.style.fontSize=snow.size;
snow.style.color=snowcolor[randommaker(snowcolor.length)];
snow.sink=sinkspeed*snow.size/5;
if (snowingzone==1) {snow.posx=randommaker(marginright-snow.size);}
if (snowingzone==2) {snow.posx=randommaker(marginright/2-snow.size);}
if (snowingzone==3) {snow.posx=randommaker(marginright/2-snow.size)+marginright/4;}
if (snowingzone==4) {snow.posx=randommaker(marginright/2-snow.size)+marginright/2;}
snow.posy=randommaker(2*marginbottom-marginbottom-2*snow.size);
snow.style.left=snow.posx;
snow.style.top=snow.posy;
}
movesnow();
}

function movesnow() {
for (i=0;i<=snowmax;i++) {
crds += x_mv;
snow.posy+=snow.sink;
snow.style.left=snow.posx+lftrght*Math.sin(crds);
snow.style.top=snow.posy;

if (snow.posy>=marginbottom-2*snow.size || parseInt(snow.style.left)>(marginright-3*lftrght)){
if (snowingzone==1) {snow.posx=randommaker(marginright-snow.size);}
if (snowingzone==2) {snow.posx=randommaker(marginright/2-snow.size);}
if (snowingzone==3) {snow.posx=randommaker(marginright/2-snow.size)+marginright/4;}
if (snowingzone==4) {snow.posx=randommaker(marginright/2-snow.size)+marginright/2;}
snow.posy=0;
}
}
var timer=setTimeout("movesnow()",50);
}

for (i=0;i<=snowmax;i++) {
document.write("<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"'>"+snowletter+"</span>");
}
if (browserok) {
window.onload=initsnow;
}
</script>
но есть один косяк, снежинки летят не до конца странички. Как это исправить? Или может кто поделиться другим скриптиком :beer:

Спасибо.

P
На сайте с 07.04.2007
Offline
33
#1

надеюсь сайт про форекс,игры на биржах,строительство да?)

Вышли мы в чистое поле, и тут из-за угла танки!
mff
На сайте с 21.02.2008
Offline
266
mff
#2

pennywise, это не важно. Начальство требует украшений к Новому году :)

I
На сайте с 23.09.2009
Offline
15
#3
function initsnow() {
if (ie5 || opera) {
marginbottom = document.body.clientHeight;
marginright = document.body.clientWidth;
}
else if (ns6) {
marginbottom = window.innerHeight;
marginright = window.innerWidth;
}

marginbottom = document.body.clientHeight + 100500;

и

marginbottom = window.innerHeight+100500;

будет афигенне!! Взял себе на сайт про МБА образование. порадую дядькав!!

ipirate добавил 16.11.2009 в 13:31

а по толку - вроде есть document.scrollheight

viКing
На сайте с 20.03.2008
Offline
124
#4

интересно сколько лет этому скрипту? 😎

mff
На сайте с 21.02.2008
Offline
266
mff
#5

viКing, это фрэш! ;)

[Удален]
#6

это уг скоро в страшном сне сниться будет.

лучше бы смачную снегурочку с сиськами посадили в шапку с кнопкой "ВХОД", вот это бы порадовало дядек, а тут ... пустышка, да еще и ндоедливая :)

bearman добавил 16.11.2009 в 14:00

а по толку - вроде есть document.scrollheight

вы правы, только document.scrollHeight;

mff
На сайте с 21.02.2008
Offline
266
mff
#7
ipirate:
marginbottom = document.body.clientHeight + 100500;
и
marginbottom = window.innerHeight+100500;

Посмотрите что внизу тогда твориться ;)

Сколько прибавлять, если высотра разная страничек. Вот блин :(

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#8

Снежинки на сайте - признак дебилизма.

Я на своём идеальном говносайте попытался собрать воедино все примеры того как делать не надо.

mff
На сайте с 21.02.2008
Offline
266
mff
#9
bearman:
это уг скоро в страшном сне сниться будет.

Полностью согласен с вами :(

[Удален]
#10

mff, ваше начальство все еще в прошлом веке живет, да и вы с ними похоже

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий