Новый год на носу. Когда-то я видел скрипт для того, что бы на сайте шел снег. Но больше не помню где. Не подскажете где его найти и куда вставить?
Буду очень признателен.
Новогодний скрипт
Сообщений 1 страница 6 из 6
Поделиться127 Дек 2009 15:43:29
Поделиться227 Дек 2009 15:49:08
Семиэль
1. Прежде чем спрашивать - умейте пользоваться поиском!
<SCRIPT language=JavaScript1.2> if ((document.getElementById) && window.addEventListener || window.attachEvent) {(function() { var num = 30; // Количество снежинок var timer = 30; // Скорость падения var y = []; var x = []; var fall = []; var theFlakes = []; var sfs = []; var step = []; var currStep = []; var h,w,r; var d = document; var pix = "px"; var domWw = (typeof window.innerWidth == "number"); var domSy = (typeof window.pageYOffset == "number"); var idx = d.getElementsByTagName('div').length; for (i = 0; i < num; i++) { sfs[i] = Math.round(1 + Math.random() * 1); document.write('<div id="flake'+(idx+i)+'" style="position:absolute;top:0px;left:0px;width:'+sfs[i]+'px;height:'+sfs[i]+'px;background-color:#ffffff;font-size:'+sfs[i]+'px"><\/div>'); currStep[i] = 0; fall[i] = (sfs[i] == 1)?Math.round(2 + Math.random() * 2): Math.round(3 + Math.random() * 2); step[i] = (sfs[i] == 1)?0.05 + Math.random() * 0.1 : 0.05 + Math.random() * 0.05; } if (domWw) r = window; else { if (d.documentElement && typeof d.documentElement.clientWidth == "number" && d.documentElement.clientWidth != 0) r = d.documentElement; else { if (d.body && typeof d.body.clientWidth == "number") r = d.body; } } function winsize() { var oh,sy,ow,sx,rh,rw; if (domWw) { if (d.documentElement && d.defaultView && typeof d.defaultView.scrollMaxY == "number") { oh = d.documentElement.offsetHeight; sy = d.defaultView.scrollMaxY; ow = d.documentElement.offsetWidth; sx = d.defaultView.scrollMaxX; rh = oh-sy; rw = ow-sx; } else { rh = r.innerHeight; rw = r.innerWidth; } h = rh - 2; w = rw - 2; } else{ h = r.clientHeight - 2; w = r.clientWidth - 2; } } function scrl(yx) { var y,x; if (domSy) { y = r.pageYOffset; x = r.pageXOffset; } else { y = r.scrollTop; x = r.scrollLeft; } return (yx == 0)?y:x; } function snow() { var dy,dx; for (i = 0; i < num; i++) { dy = fall[i]; dx = fall[i] * Math.cos(currStep[i]); y[i]+=dy; x[i]+=dx; if (x[i] >= w || y[i] >= h) { y[i] = -10; x[i] = Math.round(Math.random() * w); fall[i] = (sfs[i] == 1)?Math.round(2 + Math.random() * 2): Math.round(3 + Math.random() * 2); step[i] = (sfs[i] == 1)?0.05 + Math.random() * 0.1 : 0.05 + Math.random() * 0.05 ; } theFlakes[i].top = y[i] + scrl(0) + pix; theFlakes[i].left = x[i] + scrl(1) + pix; currStep[i]+=step[i]; } setTimeout(snow,timer); } function init() { winsize(); for (i = 0; i < num; i++) { theFlakes[i] = document.getElementById("flake"+(idx+i)).style; y[i] = Math.round(Math.random()*h); x[i] = Math.round(Math.random()*w); } snow(); } if (window.addEventListener) { window.addEventListener("resize",winsize,false); window.addEventListener("load",init,false); } else if (window.attachEvent) { window.attachEvent("onresize",winsize); window.attachEvent("onload",init); } })(); } </SCRIPT>
Ставить в HTML верх или HTML низ.
Поделиться327 Дек 2009 16:05:20
Hayase
Поверьте, искал. Долго. Видимо проглядел.
Все работает. большое спасибо! А по крупнее снежинки как сделать?
На этом форуме как раз то что мне надо. Но админ обычно ответ на такие вопросы на дает.
Отредактировано Семиэль (27 Дек 2009 16:12:19)
Поделиться427 Дек 2009 16:23:27
Семиэль
Вот вам точно такие же снежинки.
<SCRIPT language=JavaScript> <!-- Amount=15; Image0=new Image(); Image0.src="http://www.scriptik.clan.su/jpg/sneg3.gif"; grphcs=new Array(1) grphcs[0]="http://www.scriptik.clan.su/jpg/sneg3.gif" Ypos=new Array(); Xpos=new Array(); Speed=new Array(); Step=new Array(); Cstep=new Array(); 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><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()*grphcs.length); rndPic=grphcs[P]; document.write('<img id="si" src="'+rndPic+'" style="position:absolute;top:0px;left:0px">'); } 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;//osw 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;//fantasyflash.ru 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{ si[i].style.pixelLeft=Xpos[i];//osw si[i].style.pixelTop=Ypos[i]+hscrll; } Cstep[i]+=Step[i]; } setTimeout('fall()',50); } fall() //--> </SCRIPT>
Поделиться527 Дек 2009 17:11:39
Hayase
Спасибо!
Поделиться628 Дек 2009 02:27:32
Уважаемые СПИББ гении. А кто подскажет почему в Висте этот скрипт глючит на страницах?
На главной мило сыпется снежок, но как идешь на сам форум и пишешь пост - то внизу происходит дрожание движка.
Это из-за программы или все же что-то со скриптом??
Вот он - кстати очень милый и регулируемый СНЕГ
<SCRIPT type="text/javascript"> // Set the number of snowflakes (more than 30 - 40 not recommended) var snowmax=35 // Set the colors for the snow. Add as many colors as you like var snowcolor=new Array("#AAAACC","#DDDDFF","#CCCCDD","#F3F3F3","#F0FFFF") // Set the fonts, that create the snowflakes. Add as many fonts as you like var snowtype=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS") // Set the letter that creates your snowflake (recommended: * ) var snowletter="*" // Set the speed of sinking (recommended values range from 0.3 to 2) var sinkspeed=0.4 // Set the maximum-size of your snowflakes var snowmaxsize=12 // Set the minimal-size of your snowflakes var snowminsize=8 // Set 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 /* // * NO CONFIGURATION BELOW HERE * */ // Do not edit below this line 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]); snow[i].style.top=snow[i].posy 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+"'>"+snowletter+"</span>") } if (browserok) { window.onload=initsnow } </SCRIPT>