Jump to content

PROBLEM WITH SNOW SCRIPT


zealot206

Recommended Posts

I just found a nice script to insert into my website for christmas... But, it could not load in my website coz it is a valid XHTML document. Can anybody help me pls??? I need to know another alternative to use this script on a valid XHTML document. Please reply... :) This is my e-mail incase u wanna contact me. Together with this post I will insert the script.My e-mail: zealothyper01@gmail.comThis is the java script:-

// CREDITS: // Snowmaker Copyright © 2003 Peter Gehrig. All rights reserved. // Distributed by [url="http://www.hypergurl.com"]http://www.hypergurl.com[/url] // Permission given to use the script on webpages provided that this notice remains as is. // Set the number of snowflakes (more than 30 - 40 not recommended) var snowmax=30 // Set the colors for the snow. Add as many colors as you like var snowcolor=new Array("#aaaacc","#ddddFF","#ccccDD") // Set the fonts, that create the snowflakes. Add as many fonts as you like var snowtype=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS") // Set the letter that creates your snowflake (recommended:*) var snowletter="*" // Set the speed of sinking (recommended values range from 0.3 to 2) var sinkspeed=0.5 // Set the maximal-size of your snowflaxes var snowmaxsize=40 // Set the minimal-size of your snowflaxes var snowminsize=20 //Set the snowing-zone // Set 1 for all-over-snowing, set 2 for left-side-snowing // Set 3 for center-snowing, set 4 for right-side-snowing var snowingzone=1 /////////////////////////////////////////////////////////////////////////// // CONFIGURATION ENDS HERE /////////////////////////////////////////////////////////////////////////// // Do not edit below this line var snow=new Array() var marginbottom var marginright var timer var i_snow=0 var x_mv=new Array(); var crds=new Array(); var lftrght=new Array(); var browserinfos=navigator.userAgent var ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/) var ns6=document.getElementById&&!document.all var opera=browserinfos.match(/Opera/) var browserok=ie5||ns6||opera function randommaker(range) { rand=Math.floor(range*Math.random()) return rand } function initsnow() { if (ie5 || opera) { marginbottom = document.body.clientHeight marginright = document.body.clientWidth } else if (ns6) { marginbottom = window.innerHeight marginright = window.innerWidth } var snowsizerange=snowmaxsize-snowminsize for (i=0;i<=snowmax;i++) { crds[i] = 0; lftrght[i] = Math.random()*15; x_mv[i] = 0.03 + Math.random()/10; snow[i]=document.getElementById("s"+i) snow[i].style.fontFamily=snowtype[randommaker(snowtype.length)] snow[i].size=randommaker(snowsizerange)+snowminsize snow[i].style.fontSize=snow[i].size snow[i].style.color=snowcolor[randommaker(snowcolor.length)] snow[i].sink=sinkspeed*snow[i].size/5 if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)} if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)} if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4} if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2} snow[i].posy=randommaker(2*marginbottom-marginbottom-2*snow[i].size) snow[i].style.left=snow[i].posx snow[i].style.top=snow[i].posy } movesnow() } function movesnow() { for (i=0;i<=snowmax;i++) { crds[i] += x_mv[i]; snow[i].posy+=snow[i].sink snow[i].style.left=snow[i].posx+lftrght[i]*Math.sin(crds[i]); snow[i].style.top=snow[i].posy if (snow[i].posy>=marginbottom-2*snow[i].size || parseInt(snow[i].style.left)>(marginright-3*lftrght[i])){ if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)} if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)} if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4} if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2} snow[i].posy=0 } } var timer=setTimeout("movesnow()",50) } for (i=0;i<=snowmax;i++) { document.write("<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"'>"+snowletter+"</span>") } if (browserok) { window.onload=initsnow }

This is the HTML:-

<html><head><title>TESTING SNOW SCRIPT</title></head><body><script type="text/javascript" language="javascript" src="Snow.js"></script><p>Hello!!! Look at all the snow flakes!!!</p></body></html>

Link to comment
Share on other sites

Put the <script> tag inside the <head> part of the HTML document, and change all the document.writes to innerHTML modifications, e.g. into a <div id="snow"> do document.getElementById('snow').innerHTML += ...

Link to comment
Share on other sites

Put the <script> tag inside the <head> part of the HTML document, and change all the document.writes to innerHTML modifications, e.g. into a <div id="snow"> do document.getElementById('snow').innerHTML += ...
I am sorry but I don't get it... I'm weak at javascript... Can you tell me specificaly where i should change it??? Please reply...
Link to comment
Share on other sites

Snow.html:

// CREDITS:// Snowmaker Copyright © 2003 Peter Gehrig. All rights reserved.// Distributed by [url="http://www.hypergurl.com"]http://www.hypergurl.com[/url]// Permission given to use the script on webpages provided that this notice remains as is.// Set the number of snowflakes (more than 30 - 40 not recommended)var snowmax=30// Set the colors for the snow. Add as many colors as you likevar snowcolor=new Array("#aaaacc","#ddddFF","#ccccDD")// Set the fonts, that create the snowflakes. Add as many fonts as you likevar snowtype=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS")// Set the letter that creates your snowflake (recommended:*)var snowletter="*"// Set the speed of sinking (recommended values range from 0.3 to 2)var sinkspeed=0.5// Set the maximal-size of your snowflaxesvar snowmaxsize=40// Set the minimal-size of your snowflaxesvar snowminsize=20//Set the snowing-zone// Set 1 for all-over-snowing, set 2 for left-side-snowing// Set 3 for center-snowing, set 4 for right-side-snowingvar snowingzone=1///////////////////////////////////////////////////////////////////////////// CONFIGURATION ENDS HERE ///////////////////////////////////////////////////////////////////////////// Do not edit below this linevar snow=new Array()var marginbottomvar marginrightvar timervar i_snow=0var x_mv=new Array();var crds=new Array();var lftrght=new Array();var browserinfos=navigator.userAgentvar ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/)var ns6=document.getElementById&&!document.allvar opera=browserinfos.match(/Opera/)var browserok=ie5||ns6||operavar fallingareafunction randommaker(range) {	rand=Math.floor(range*Math.random())	return rand}function initsnow() {	fallingarea=document.getElementById('snow');	for (i=0;i<=snowmax;i++) {		fallingarea.innerHTML+="<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"'>"+snowletter+"</span>";	}	if (ie5 || opera) {		marginbottom = document.body.clientHeight		marginright = document.body.clientWidth	}else if (ns6) {		marginbottom = window.innerHeight		marginright = window.innerWidth	}	var snowsizerange=snowmaxsize-snowminsize	for (i=0;i<=snowmax;i++) {		crds[i] = 0;		lftrght[i] = Math.random()*15;		x_mv[i] = 0.03 + Math.random()/10;		snow[i]=document.getElementById("s"+i)		snow[i].style.fontFamily=snowtype[randommaker(snowtype.length)]		snow[i].size=randommaker(snowsizerange)+snowminsize		snow[i].style.fontSize=snow[i].size		snow[i].style.color=snowcolor[randommaker(snowcolor.length)]		snow[i].sink=sinkspeed*snow[i].size/5		if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}		if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}		if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}		if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}		snow[i].posy=randommaker(2*marginbottom-marginbottom-2*snow[i].size)		snow[i].style.left=snow[i].posx		snow[i].style.top=snow[i].posy	}	movesnow()}function movesnow() {	for (i=0;i<=snowmax;i++) {		crds[i] += x_mv[i];		snow[i].posy+=snow[i].sink		snow[i].style.left=snow[i].posx+lftrght[i]*Math.sin(crds[i]);		snow[i].style.top=snow[i].posy				if (snow[i].posy>=marginbottom-2*snow[i].size || parseInt(snow[i].style.left)>(marginright-3*lftrght[i])){			if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}			if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}			if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}			if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}			snow[i].posy=0		}	}	var timer=setTimeout("movesnow()",50)}if (browserok) {	window.onload=initsnow}

Internet Explorer, Firefox, and Opera (before the last update, which came yesterday I think) are alright with it, but I'm not even going to ask JSLint; it needs a makeover for that.

Link to comment
Share on other sites

It is still the same... Whenever I insert the XHTML DOCTYPE into the HTML document, the snow will freeze... How can I make the snow move with the DOCTYPE on??? Please reply...I tried browsing the document with DOCTYPE on Mozilla, but the snow will freeze, but when I tried it on IE6, the snow can move, but it will move horizontally instead of vertically. Can some one please tell me how can I fix this problem??? Please reply...

Link to comment
Share on other sites

Sorry; XHTML isn't my native layout language.Use this for Snow.html:

<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml">	<head>		<title>TESTING SNOW SCRIPT</title>		<script type="text/javascript" src="Snow.js"></script>	</head>	<body>		<p>Hello!!! Look at all the snow flakes!!!</p>		<div id="snow" style="position:absolute; height:100%; top:0px; left:0px;"></div>	</body></html>

EDIT: Why'd you ask for help with an XHTML problem? (Just wondering; I noticed that you listed XHTML as one of your known languages.)

Link to comment
Share on other sites

The problem with it is that with XHTML you can't have <script> tags in the body, however if you put the <script> in the header the document.write statements are incorrect as they try to write content tags (such as <span>) into the head, which won't do anything.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...