Falling Snow Background image - Posted (4549 Views)
Junior Member
NiteOwl
Posts: 403
403
I found the following script on the net to add falling snowflakes to my forum. Can I do this with SNITZ and if so what file do I need to edit?

The following website shows this script:
http://javascript.internet.com/bgeffects/snow.html

<font color="navy"><font size="1"><SCRIPT LANGUAGE="JavaScript1.2">
<!-- Original: Altan (snow@altan.hr) -->
<!-- Web Site: http://www.altan.hr/snow -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var no = 25; // snow number
var speed = 10; // smaller number moves the snow faster
var snowflake = "http://www.your-web-site-address-here.com/snow.gif";

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<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 (ns4up) { // set layers
if (i == 0) {
document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
document.write("top=\"15\" visibility=\"show\"><img src=\"");
document.write(snowflake + "\" border=\"0\"></layer>");
} else {
document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
document.write("top=\"15\" visibility=\"show\"><img src=\"");
document.write(snowflake + "\" border=\"0\"></layer>");
}
} else if (ie4up) {
if (i == 0) {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
document.write("visible; TOP: 15px; LEFT: 15px;\"><img src=\"");
document.write(snowflake + "\" border=\"0\"></div>");
} else {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
document.write("visible; TOP: 15px; LEFT: 15px;\"><img src=\"");
document.write(snowflake + "\" border=\"0\"></div>");
}
}
}
function snowNS() { // Netscape main animation function
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();
doc_width = self.innerWidth;
doc_height = self.innerHeight;
}
dx[i] += stx[i];
document.layers["dot"+i].top = yp[i];
document.layers["dot"+i].left = xp[i] + am[i]*Math.sin(dx[i]);
}
setTimeout("snowNS()", speed);
}
function snowIE() { // IE main animation function
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();
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}
dx[i] += stx[i];
document.all["dot"+i].style.pixelTop = yp[i];
document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]);
}
setTimeout("snowIE()", speed);
}
if (ns4up) {
snowNS();
} else if (ie4up) {
snowIE();
}
// End -->
</script</font id="size1"></font id="navy">>

<font size="1"><font color="black">< Moved to [i]MOD Add-On Forum (W/O Code)</i> by Shaggy /></font id="black"></font id="size1">
-=NiteOwl=-
 Sort direction, for dates DESC means newest first  
 Page size 
Posted
Starting Member
Simko
Posts: 25
25
Nope, no Problems here :) Checkt it, everything works fine. But thanks anyway.<
Posted
Junior Member
spyderuk
Posts: 211
211
I've tried getting this going but all to no avail. Tried the version with 3 flakes but just cannot get it to snow. aarrgghhhh! <
Snitz 3.4.05. Mods Installed, Additional Smilies, Poll's, PM's, Email All Users, Today/Yesterday, Active Users 4, Portal Mod, My Own Google, Referer Mod, Avatars, Intergrated Conqueror Chat, Usergroups, IPGate, File Attachment Mod & Image Resize Mod. Next Mod? My Snitz Forum wink
Posted
Advanced Member
JJenson
Posts: 2121
2121
Any kind of errors or anything. What is happening?<
Posted
Junior Member
NiteOwl
Posts: 403
403
-=NiteOwl=-
Posted
Starting Member
Lon
Posts: 47
47
I used Sonic's code and my users love it. I've been informed by my one user today that if you open 4 or more tabs to your forum, it will max the CPU. I was able to duplicate this, thou I don't know why he would need 4 tabs to the forum open.<
Posted
Junior Member
NiteOwl
Posts: 403
403
I don't know what causes it directly, but I do usually have more than 4 tabs open, but they are to multiple sites and only one to the forum, on my system the code by sonic will cause the window to just sit there and continuously resize as the snow is moving down the screen. very frustrating. smile
So my old code works, it just does not display anything to those users of FireFox.
Update: its all working now, using the snow.js above in green, even with multiple tabs in firefox

<
-=NiteOwl=-
You Must enter a message