Jump to content

Въпрос за снежинки в сайт


Препоръчан пост

Намерих ето тоя сайт и пише как се слага да вали сняг в сайта ми.

 

http://www.schillmania.com/projects/snowstorm/

 

Някой ако може да ми обясни как става. Ще съм му много благодарен.

Link to comment
Сподели другаде

Сваляш .zip файла, разархивираш и го качваш на сървъра. Също ще трябва да промениш някой ред в кода на определена страница, но това като дадеш повече инфо за сайта си. За да не гадаем ..... :cooldude:
Link to comment
Сподели другаде

Мм а става ли за Firefox 2 ? Защото вече изпробвах няколко скрипта, които се оказа, че не стават за Firefox 2. Включително и от този няма резултат - няма сняг :no:
Link to comment
Сподели другаде

Мм а става ли за Firefox 2 ? Защото вече изпробвах няколко скрипта, които се оказа, че не стават за Firefox 2. Включително и от този няма резултат - няма сняг :no:

 

Пробвай скрипта, чийто линк съм дал в предния си пост. При мен работи на ФФ 2.

Link to comment
Сподели другаде

  • 3 weeks later...

 

Сега като се загледах виждам, че съм дал линк към сняг за форум, а не за сайт. Сори ...

 

А в момента и аз търся начин за слагане на такъв ефект за страница. Прегледах в нета сума ти варианти, но нито един не сработва. Ще ви бъда благодарен, ако предложите нещо работещо :svlove:

Link to comment
Сподели другаде

Сега като се загледах виждам, че съм дал линк към сняг за форум, а не за сайт. Сори ...

Така си е...

Аз тука се поразрових малко и открих два скрипта, които бях ползвал по-рано.

<script type="text/javascript">

 
 //Configure below to change URL path to the snow image
 var snowsrc="snow.gif"
 // Configure below to change number of snow to render
 var no = 10;
 // Configure whether snow should disappear after x seconds (0=never):
 var hidesnowtime = 0;
 // Configure how much snow should drop down before fading ("windowheight" or "pageheight")
 var snowdistance = "pageheight";

///////////Stop Config//////////////////////////////////

 var ie4up = (document.all) ? 1 : 0;
 var ns6up = (document.getElementById&&!document.all) ? 1 : 0;

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

 var dx, xp, yp;	// coordinate and position variables
 var am, stx, sty;  // amplitude and step variables
 var i, doc_width = 800, doc_height = 600; 
 
 if (ns6up) {
doc_width = self.innerWidth;
doc_height = self.innerHeight;
 } else if (ie4up) {
doc_width = iecompattest().clientWidth;
doc_height = iecompattest().clientHeight;
 }

 dx = new Array();
 xp = new Array();
 yp = new Array();
 am = new Array();
 stx = new Array();
 sty = new Array();
 snowsrc=(snowsrc.indexOf("www.dynamicdrive.com")!=-1)? "snow.gif" : snowsrc
 for (i = 0; i < no; ++ i) {  
dx[i] = 0;						// set coordinate variables
xp[i] = Math.random()*(doc_width-50);  // set position variables
yp[i] = Math.random()*doc_height;
am[i] = Math.random()*20;		 // set amplitude variables
stx[i] = 0.02 + Math.random()/10; // set step variables
sty[i] = 0.7 + Math.random();	 // set step variables
	if (ie4up||ns6up) {
  if (i == 0) {
	document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><a href=\"http://www.dynamicdrive.com\"><img src='"+snowsrc+"' border=\"0\"><\/a><\/div>");
  } else {
	document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src='"+snowsrc+"' border=\"0\"><\/div>");
  }
}
 }

 function snowIE_NS6() {  // IE and NS6 main animation function
doc_width = ns6up?window.innerWidth-10 : iecompattest().clientWidth-10;
	doc_height=(window.innerHeight && snowdistance=="pageheight")? window.innerHeight : (ie4up && snowdistance=="pageheight")?  iecompattest().clientHeight : (ie4up && !window.opera && snowdistance=="pageheight")? iecompattest().scrollHeight : iecompattest().offsetHeight;
for (i = 0; i < no; ++ i) {  // iterate for every dot
  yp[i] += sty[i];
  if (yp[i] > doc_height-50) {
	xp[i] = Math.random()*(doc_width-am[i]-30);
	yp[i] = 0;
	stx[i] = 0.02 + Math.random()/10;
	sty[i] = 0.7 + Math.random();
  }
  dx[i] += stx[i];
  document.getElementById("dot"+i).style.top=yp[i]+"px";
  document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i])+"px";  
}
snowtimer=setTimeout("snowIE_NS6()", 10);
 }

function hidesnow(){
	if (window.snowtimer) clearTimeout(snowtimer)
	for (i=0; i<no; i++) document.getElementById("dot"+i).style.visibility="hidden"
}
	

if (ie4up||ns6up){
snowIE_NS6();
	if (hidesnowtime>0)
	setTimeout("hidesnow()", hidesnowtime*1000)
	}

</script>

Това е единия и по-добър според мен. Променливата snowsrc на две места е "snow.gif". Това ти е изображението на снежинката, значи вместо snow.gif ще напишеш път към изпбражението, което искаш. Примерно "../images/snow.gif".

 

Другият скрипт не ми допада, защото снежинките представляват малки прехвърчащи точки, но все пак ще го покажа:

//Snow - http://www.btinternet.com/~kurt.grigg/javascript

if  ((document.getElementById) &&
window.addEventListener || window.attachEvent){

(function(){

//Configure here.

var num = 50;   //Number of flakes
var timer = 30; //setTimeout speed. Varies on different comps
var enableinNS6 = 1 //Enable script in NS6/Mozilla? Snow animation could be slow in those browsers. (1=yes, 0=no).

//End.

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;

if (d.documentElement.style &&
typeof d.documentElement.style.MozOpacity == "string")
num = 12;

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);
}

})();
}//End.

Това направо си го копираш в отделен файл и го именуваш примерно snow.js

После за да го включиш в програмата пишеш <script type="text/javascript" src="snow.js"></script>

Link to comment
Сподели другаде

Търси го тук:

dx = new Array();

xp = new Array();

yp = new Array();

am = new Array();

stx = new Array();

sty = new Array();

snowsrc=(snowsrc.indexOf("www.dynamicdrive.com")!=-1)? "snow.gif" : snowsrc

 

Ама в скрипта пише, че там не бива да се пипа ...

Link to comment
Сподели другаде

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...
×
×
  • Създай ново...