Click here to Skip to main content
15,914,447 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
It seems to affect other elements of the page and doesn't show at all on Chrome and Microsoft Edge. Below is the javascript code.

What I have tried:



grphcs=new Array(6)
Image0=new Image();
Image0.src=grphcs[0]="https://www.skinnyski.com/images/flake.gif";
Image1=new Image();
Image1.src=grphcs[1]="https://www.skinnyski.com/images/flake.gif"
Image2=new Image();
Image2.src=grphcs[2]="https://www.skinnyski.com/images/flake.gif"
Image3=new Image();
Image3.src=grphcs[3]="https://www.skinnyski.com/images/flake.gif"
Image4=new Image();
Image4.src=grphcs[4]="https://www.skinnyski.com/images/flake.gif"
Image5=new Image();
Image5.src=grphcs[5]="https://www.skinnyski.com/images/flake.gif"

Amount=8; //Smoothness depends on image file size, the smaller the size the
//more you can use!
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)?1:0;
if (ns){
for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*grphcs.length);
rndPic=grphcs[P];
document.write("&lt;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 &lt; 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.document.body.clientHeight;
WinWidth=(ns||ns6)?window.innerWidth-70:window.document.body.clientWidth;
for (i=0; i &lt; Amount; i++){
Ypos[i] = Math.round(Math.random()*WinHeight);
Xpos[i] = Math.round(Math.random()*WinWidth);
Speed[i]= Math.random()*5+3;
Cstep[i]=0;
Step[i]=Math.random()*0.1+0.05;
}
function fall(){
var WinHeight=(ns||ns6)?
window.innerHeight:window.document.body.clientHeight;
var WinWidth=(ns||ns6)?window.innerWidth-
70:window.document.body.clientWidth;
var hscrll=(ns||ns6)?window.pageYOffset:document.body.scrollTop;
var wscrll=(ns||ns6)?window.pageXOffset:document.body.scrollLeft;
for (i=0; i &lt; 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+3;
}
if (ns){
document.layers['sn'+i].left=Xpos[i];
document.layers['sn'+i].top=Ypos[i]+hscrll;
}
else if (ns6){
document.getElementById("si"+i).style.left=Math.min(WinWidth,Xpos[i]);
document.getElementById("si"+i).style.top=Ypos[i]+hscrll;
}
else{
eval("document.all.si"+i).style.left=Xpos[i];
eval("document.all.si"+i).style.top=Ypos[i]+hscrll;
}
Cstep[i]+=Step[i];
}
setTimeout('fall()',40);
}

window.onload=fall;
//-->
Posted
Updated 12-Jan-18 1:53am

That is a really ancient script:
JavaScript
ns=(document.layers)?1:0;
ns6=(document.getElementById&&!document.all)?1:0;

You should look for a more up-to-date script providing a similar effect like GitHub - scottschiller/Snowstorm: Enterprise-grade JavaScript snow effect for the internets, setting CPUs on fire worldwide every winter since 2003.[^].
 
Share this answer
 
I made some changes .But the image not moved .I will try in another method

<html>
<head id="Head1" runat="server">
    <title></title>
   
    
        
        

<script>
 
var grphcs=new Array(6);
var Image0=new Image();
 Image0.src=grphcs[0]="https://www.skinnyski.com/images/flake.gif";
var Image1=new Image();
Image1.src=grphcs[1]="https://www.skinnyski.com/images/flake.gif"
var Image2=new Image();
Image2.src=grphcs[2]="https://www.skinnyski.com/images/flake.gif"
var Image3=new Image();
Image3.src=grphcs[3]="https://www.skinnyski.com/images/flake.gif"
var Image4=new Image();
Image4.src=grphcs[4]="https://www.skinnyski.com/images/flake.gif"
var Image5=new Image();
Image5.src=grphcs[5]="https://www.skinnyski.com/images/flake.gif" 
var i =0;
var Amount=8;
var Ypos=new Array(); 
var Xpos=new Array();
var Speed=new Array();
var Step=new Array();
var Cstep=new Array();
ns=(document.layers)?1:0;
ns6=(document.getElementById&&!document.all)?1:0;
if(ns==0){

for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*grphcs.length);
var rndPic=grphcs[P];

document.write("<LAYER Id='sn"+i+"' LEFT=50 TOP=50><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);
var 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.document.body.clientHeight;
WinWidth=(ns||ns6)?window.innerWidth-70: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()*5+3;
Cstep[i]=0;
Step[i]=Math.random()*0.1+0.05;
}

function fall(){

var WinHeight=(ns==ns6)?window.innerHeight:window.document.body.clientHeight;
var WinWidth=(ns==ns6)?window.innerWidth-70:window.document.body.clientWidth;
var hscrll=(ns==ns6)?window.pageYOffset:document.body.scrollTop;
var wscrll=(ns==ns6)?window.pageXOffset:document.body.scrollLeft;
for (i=0; i < Amount; i++){

var sy = Speed[i]*Math.sin(90*Math.PI/180);
var 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+3;

}


if (ns==0){
var lnm = "sn"+i;

var lar = document.getElementById(lnm);

lar.style.left = 200;

//document.layers['sn'+i].left=Xpos[i];
//document.layers['sn'+i].top=Ypos[i]+hscrll;
}
else if (ns6==0){
document.getElementById("si"+i).style.left=Math.min(WinWidth,Xpos[i]);
document.getElementById("si"+i).style.top=Ypos[i]+hscrll;
}
else{
eval("document.all.si"+i).style.left=Xpos[i];
eval("document.all.si"+i).style.top=Ypos[i]+hscrll;
} 
Cstep[i]+=Step[i];
}

setTimeout('fall()',40);
}
   
</script>

</head>


<body onload="fall();">
    
<div>
</div>
</body>
</html>
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900