webForumDet fria alternativet

Långsammare?

3 svar · 164 visningar · startad av hajdo

hajdoMedlem sedan nov. 2003169 inlägg
#1

Hej, jag ska använda ett script som gör att det regnar ner snö från sidan och jag undrar hur man kan göra så att snön går långsammare, jag kollade men hittade inte vart...

<script language="JavaScript1.2">

/*
Snow Effect Script
Created and submitted by Altan d.o.o. (snow@altan.hr, http://www.altan.hr/snow/index.html)
Permission granted to Dynamicdrive.com to feature script in archive
For full source code and installation instructions to this script, visit http://dynamicdrive.com

Comes from http://kallabananer.cjb.net
*/

//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 = 5;

var ns4up = (document.layers) ? 1 : 0; // browser sniffer
var ie4up = (document.all) ? 1 : 0;

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 (ns4up) {
doc_width = self.innerWidth;
doc_height = self.innerHeight;
} else if (ie4up) {
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}

dx = new Array();
xp = new Array();
yp = new Array();
am = new Array();
stx = new Array();
sty = new Array();

for (i = 0; i < no; ++ i) {
dx *= 0; // set coordinate variables
xp *= Math.random()*(doc_width-50); // set position variables
yp *= Math.random()*doc_height;
am *= Math.random()*20; // set amplitude variables
stx *= 0.02 + Math.random()/10; // set step variables
sty *= 0.7 + Math.random(); // set step variables
if (ns4up) { // set layers
if (i == 0) {
document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><a href=\"http://dynamicdrive.com/\\"><img src='"+snowsrc+"' border=\"0\"></a></layer>");
} else {
document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src='"+snowsrc+"' border=\"0\"></layer>");
}
} else if (ie4up) {
if (i == 0) {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><a href=\"http://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 snowNS() { // Netscape main animation function
for (i = 0; i < no; ++ i) { // iterate for every dot
yp += sty;
if (yp *> doc_height-50) {
xp = Math.random()*(doc_width-am-30);
yp *= 0;
stx = 0.02 + Math.random()/10;
sty = 0.7 + Math.random();
doc_width = self.innerWidth;
doc_height = self.innerHeight;
}
dx += stx;
document.layers["dot"+i].top = yp
;
document.layers["dot"+i].left = xp + am*Math.sin(dx
);
}
setTimeout("snowNS()", 10);
}

function snowIE() { // IE main animation function
for (i = 0; i < no; ++ i) { // iterate for every dot
yp += sty;
if (yp *> doc_height-50) {
xp = Math.random()*(doc_width-am-30);
yp *= 0;
stx = 0.02 + Math.random()/10;
sty = 0.7 + Math.random();
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}
dx += stx;
document.all["dot"+i].style.pixelTop = yp
;
document.all["dot"+i].style.pixelLeft = xp + am*Math.sin(dx
);
}
setTimeout("snowIE()", 10);
}

if (ns4up) {
snowNS();
} else if (ie4up) {
snowIE();
}

</script>**********************************

Kan nån skriva om den så den går långsammare? skulle va schyyst...

dectgapMedlem sedan sep. 20021 655 inlägg
#2

På följande två rader:

setTimeout("snowNS()", 10);

och

setTimeout("snowIE()", 10);

kan du ändra 10 till ett större tal för att det ska snöa långsammare.

hajdoMedlem sedan nov. 2003169 inlägg
#3

Fett bra, tack. Men det är också så att snön försvinner halvägs ner på skärmen, hur kan man fixa det?

dectgapMedlem sedan sep. 20021 655 inlägg
#4

Utan att ha tittat speciellt noggrant på koden skulle jag säga till dig att ändra i denna rad:

var i, doc_width = 800, doc_height = 600;

Förmodligen är det doc_width och doc_height som bestämmer var snöflingorna ska kunna placeras.

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)