Jump to content

SnowFlakes floating up, for some reason

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
10 replies to this topic

#1
Logan

Logan

    Programming Professional

  • Members
  • PipPipPipPipPip
  • 226 posts
My school website has a JS script that makes snowflakes "fall" yet they don't. My computer teacher, who is also the system admin, want's me to help fix it because, sadly, I am one of the best coders in my school. I'll post a link to the site, and post the code. Anyone who wants to help, can. Thanks,

Logan



School Site


<SCRIPT type=text/javascript>
<!--
//Autumn leaves- by Kurt Grigg (kurt.grigg@virgin.net)
//Modified by Dynamic Drive for NS6 functionality
//visit http://www.dynamicdrive.com for this script
//Modified by jscheuer1 in http://www.dynamicdrive.com/forums
//to fall up, add doctype compatibility & account for
//differences in speeds among browsers
var speed=60  // 12 to whatever (60 is pretty slow) higher numbers are slower
Amount=8; //Smoothness depends on image file size, the smaller the size the more you can use!
//Pre-load your image below!
grphcs=new Array(6)
Image0=new Image();
Image0.src=grphcs[0]="http://etc.usf.edu/clipart/16300/16376/snowflake4_16376_th.gif";
Image1=new Image();
Image1.src=grphcs[1]="http://etc.usf.edu/clipart/16300/16376/snowflake4_16376_th.gif"
Image2=new Image();
Image2.src=grphcs[2]="http://etc.usf.edu/clipart/16300/16376/snowflake4_16376_th.gif"
Image3=new Image();
Image3.src=grphcs[3]="http://etc.usf.edu/clipart/16300/16376/snowflake4_16376_th.gif"
Image4=new Image();
Image4.src=grphcs[4]="http://etc.usf.edu/clipart/16300/16376/snowflake4_16376_th.gif"
Image5=new Image();
Image5.src=grphcs[5]="http://etc.usf.edu/clipart/16300/16376/snowflake4_16376_th.gif"
//////////////// Stop Editing //////////////
function iecompattest(){
return (document.compatMode && document.compatMode.indexOf("CSS")!=-1)? document.documentElement : document.body
}
Ypos=new Array();
Xpos=new Array();
Speed=new Array();
Step=new Array();
Cstep=new Array();
ns=(document.layers)?1:0;
ns6=(document.getElementById&&!document.all||window.opera)?1:0;
speed=ns6? speed-12 : speed
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'+i+'" src="'+rndPic+'" style="position:absolute;top:0px;left:0px">');
}
document.write('</div></div>');
}
WinHeight=(ns||ns6)?window.innerHeight:window.iecompattest().clientHeight;
WinWidth=(ns||ns6)?window.innerWidth-70:window.iecompattest().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()*5+3)*-1;
 Cstep[i]=0;
 Step[i]=Math.random()*0.1+0.05;
}
function fall(){
var WinHeight=(ns||ns6)?window.innerHeight:window.iecompattest().clientHeight;
var WinWidth=(ns||ns6)?window.innerWidth-70:window.iecompattest().clientWidth;
var hscrll=(ns||ns6)?window.pageYOffset:iecompattest().scrollTop;
var wscrll=(ns||ns6)?window.pageXOffset:iecompattest().scrollLeft;
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] < 0 ){
Ypos[i]=WinHeight+60;
Xpos[i]=Math.round(Math.random()*WinWidth);
Speed[i]=(Math.random()*5+3)*-1;
}
if (ns){
document.layers['sn'+i].left=Xpos[i]+wscrll;
document.layers['sn'+i].top=Ypos[i]+hscrll;
}
else if (ns6){
document.getElementById("si"+i).style.left=Math.min(WinWidth,Xpos[i])+wscrll+'px';
document.getElementById("si"+i).style.top=Ypos[i]+hscrll-100+'px';
}
else{
document.all["si"+i].style.left=Xpos[i]+wscrll+'px';
document.all["si"+i].style.top=Ypos[i]+hscrll+'px';
} 
Cstep[i]+=Step[i];
}
setTimeout('fall()',speed);
}
window.onload=fall
//-->
</SCRIPT>


#2
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
Just a thought: you're decreasing Y instead of increasing Y. As I recall, (0,0) is the upper left corner of the window. Decreasing Y would cause the flake to fall up.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#3
Logan

Logan

    Programming Professional

  • Members
  • PipPipPipPipPip
  • 226 posts
OK, thanks, I'll try that.

#4
v0id

v0id

    Retired

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 2,936 posts
Haha, I love that. Both that they go up, and that he is the computer teacher and sysadmin.

#5
Xav

Xav

    Writes binary right handed and hex left handed

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 13,118 posts
You might want to replace the GIF file (http://etc.usf.edu/c...e4_16376_th.gif) with a transparent PNG, it looks awful with a solid white background.
Jordan said:

Good members, like yourself, stick around and post for ages to come!
Mr. Xav | Blog | Forums

#6
Logan

Logan

    Programming Professional

  • Members
  • PipPipPipPipPip
  • 226 posts
I know, but my teacher is like WTF its mazing. He'd be mad at me if i changed it. :P I could make that one transparent though... Nah.

#7
Xav

Xav

    Writes binary right handed and hex left handed

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 13,118 posts
If you want I could make it for you now. Post if interested!
Jordan said:

Good members, like yourself, stick around and post for ages to come!
Mr. Xav | Blog | Forums

#8
Logan

Logan

    Programming Professional

  • Members
  • PipPipPipPipPip
  • 226 posts
A transparent snowflake? I could make one easily, its not that hard...

#9
Xav

Xav

    Writes binary right handed and hex left handed

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 13,118 posts
Then do it, because the current one looks awful against the rest of the page. Don't forget to cater for IE6 if you use alpha transparency.
Jordan said:

Good members, like yourself, stick around and post for ages to come!
Mr. Xav | Blog | Forums

#10
Logan

Logan

    Programming Professional

  • Members
  • PipPipPipPipPip
  • 226 posts
Umm, sure. Whatever. I'll do that.

#11
Xav

Xav

    Writes binary right handed and hex left handed

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 13,118 posts
lol

Check out UnitPNG Fix, I find it to be much more effective than Supersleight.
Jordan said:

Good members, like yourself, stick around and post for ages to come!
Mr. Xav | Blog | Forums