webForumDet fria alternativet

Fallande stjärna

2 svar · 257 visningar · startad av annesophie

annesophieMedlem sedan juni 20012 236 inlägg
#1

Behöver skapa en fallande stjärna av en vanlig punkt som ska falla lite random med nån minuts mellanrum.
Eftersom jag är jättedålig på både JS och DHTML så tänkte jag att jag bara skulle anpassa ett script som jag hittade på nätet.

Men det var ju fanken inte lättare. ;)

Har fått det att se ut som jag vill, men stjärnan faller för ofta!
Det ska vara två minuters mellanrum helst, men fortfarande random.

Jag undrar om någon som begriper sig på det här kan hjälpa mig att modda lite? :)

[1]
<HTML>

<HEAD>

<style>
.drop { position: absolute; width: 1;  filter: flipV(), flipH(); font-size: 2; color: white; }
</style>

<script language="javascript">

snow = false;    // false-rain;   true-snow
snowsym = " * "  //These are the symbols for each
rainsym = " . "  //You can put images here.
howmany = 1     //How many drops/snowflakes?

/**************Do not need to change anything below***********/
if(snow){sym = snowsym; speed=1; angle=10; drops=howmany}
else{sym = rainsym; speed=1; drops=howmany; angle=1}
movex = -speed/angle; movey = speed; count = 0;

function moverain(){
for(move = 0; move < drops; move++){
xx[move]+=movex;  yy[move]+=mv[move];
hmm = Math.round(Math.random()*1);
if(xx[move] < 0){xx[move] = maxx+10;}
if(yy[move] > maxy){yy[move] = 10;}
drop[move].left = xx[move]
drop[move].top = yy[move]+document.body.scrollTop;
}setTimeout('moverain()','1')}

</script>

</HEAD>

<BODY bgcolor="#000000">

<script language="javascript">
if (document.all){
drop = new Array(); xx = new Array(); yy = new Array(); mv = new Array()
ly = "document.all[\'"; st = "\'].style"
for(make = 0; make < drops; make++){
document.write('<div id="drop'+make+'" class=drop>'+sym+'</div>');
drop[make] = eval(ly+'drop'+make+st);
maxx = document.body.clientWidth-40
maxy = document.body.clientHeight-40
xx[make] = Math.random()*maxx;
yy[make] = -100-Math.random()*maxy;
drop[make].left = xx[make]
drop[make].top = yy[make]
mv[make] = (Math.random()*5)+speed/4;
drop[make].fontSize = (Math.random()*10)+20;
if(snow){col = 'white'}else{col = 'white'}
drop[make].color = col;
}
window.onload=moverain
}
</script>

</BODY>

</HTML>
[/1]

/A :bire

Peter SMedlem sedan dec. 20025 483 inlägg
#2
<HTML>

<HEAD>

<style>
.drop { position: absolute; width: 1;  filter: flipV(), flipH(); font-size: 2; color: white; }
</style>

<script language="javascript">

snow = false;    // false-rain;   true-snow
snowsym = " * "  //These are the symbols for each
rainsym = " . "  //You can put images here.
howmany = 1     //How many drops/snowflakes?
var z,done=false;

/**************Do not need to change anything below***********/
if(snow){sym = snowsym; speed=1; angle=10; drops=howmany}
else{sym = rainsym; speed=1; drops=howmany; angle=1}
movex = -speed/angle; movey = speed; count = 0;

function moverain(){
for(move = 0; move < drops; move++){
drop[move].visibility="visible";
xx[move]+=movex;  yy[move]+=mv[move];
hmm = Math.round(Math.random()*1);
if(xx[move] < 0){done=true;xx[move] = maxx+10;}
if(yy[move] > maxy){done=true;yy[move] = 10;}
if(done){
drop[move].visibility="hidden";
done=false;
clearInterval(z);
setTimeout('f()',[b]120000[/b]);
}
drop[move].left = xx[move]
drop[move].top = yy[move]+document.body.scrollTop;
}
}

function f(){z=setInterval('moverain()',1)}

</script>

</HEAD>

<BODY bgcolor="#000000">

<script language="javascript">
if (document.all){
drop = new Array(); xx = new Array(); yy = new Array(); mv = new Array()
ly = "document.all['"; st = "'].style"
for(make = 0; make < drops; make++){
document.write('<div id="drop'+make+'" class=drop>'+sym+'</div>');
drop[make] = eval(ly+'drop'+make+st);
maxx = document.body.clientWidth-40
maxy = document.body.clientHeight-40
xx[make] = Math.random()*maxx;
yy[make] = -100-Math.random()*maxy;
drop[make].left = xx[make]
drop[make].top = yy[make]
mv[make] = (Math.random()*5)+speed/4;
drop[make].fontSize = (Math.random()*10)+20;
if(snow){col = 'white'}else{col = 'white'}
drop[make].color = col;
}
window.onload=function(){z=setInterval('moverain()',1);}
}
</script>

</BODY>

</HTML>

Den fetstilta delen anger antalet millisekunder mellan varje stjärnfall.

:)

annesophieMedlem sedan juni 20012 236 inlägg
#3

Doh - så klart! :r

TACK Peter! :bire :f

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