Script werkt in IE en niet in FF

Status
Niet open voor verdere reacties.

divigo

Gebruiker
Lid geworden
25 mei 2008
Berichten
8
Hallo

Onderstaand script werkt in Internet Exporer en niet in Firefox.
Ik heb zelf geen kennis van javascript en zou dus willen weten of iemand kan kijken hoe dit script aangepast kan worden.

Code:
<!--Simply copy and paste into <BODY>  
     Just above the </BODY> tag. -->

<SCRIPT type="text/javascript">
/*
Snow Fall 1 - no images - Java Script
Visit http://rainbow.arch.scriptmania.com/scripts/
  for this script and many more
*/

// Set the number of snowflakes (more than 30 - 40 not recommended)
var snowmax=50

// Set the colors for the snow. Add as many colors as you like
var snowcolor=new Array("#AAAACC","#DDDDFF","#CCCCDD","#F3F3F3","#F0FFFF")

// 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.6

// Set the maximum-size of your snowflakes
var snowmaxsize=30

// Set the minimal-size of your snowflakes
var snowminsize=8

// 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

  /*
   //   * NO CONFIGURATION BELOW 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
}
</SCRIPT>

Ik weet dat dit een rare periode is voor een sneeuwscript maar ik ben bezig om een xmas style te maken voor mijn forum.

Gr Dennis
 
Ergens in de code staat het volgende:

Code:
var browserok=ie5||ns6||opera

Aangezien FF er niet tussen staat zal het daarin niet werken. Zal nog even kijken naar een oplossing ;).
 
Probeer het hier eens mee:

Code:
<script type="text/javascript">
/*
Snow Fall 1 - no images - Java Script
Visit http://rainbow.arch.scriptmania.com/scripts/
 for this script and many more
*/

// Set the number of snowflakes (more than 30 - 40 not recommended)
var snowmax = 50;

// Set the colors for the snow. Add as many colors as you like
var snowcolor = new Array("#AAAACC","#DDDDFF","#CCCCDD","#F3F3F3","#F0FFFF");

// 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.6;

// Set the maximum-size of your snowflakes
var snowmaxsize = 30;

// Set the minimal-size of your snowflakes
var snowminsize = 8;

// 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;

// Do not edit below this line
var snow = new Array();
var marginbottom;
var marginright;
var i_snow = 0;
var x_mv = new Array();
var crds = new Array();
var lftrght = new Array();
var browserinfos = navigator.userAgent;
var ie5 = document.getElementById && document.all && !browserinfos.match(/Opera/);
var ns6 = document.getElementById && !document.all;
var opera = browserinfos.match(/Opera/);

function randommaker(range)
{
	return(Math.floor(range * Math.random()));
}

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(var 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 (var 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
		}
	}

	setTimeout("movesnow()",50);
}

for (var i = 0; i <= snowmax; i++)
{
	document.write("<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"'>"+snowletter+"</span>");
}

window.onload = initsnow;
 
Helaas doet ie het nu nog niet.
Heb ook de buffer van FF geleegd maar zonder resultaat.

Gr Dennis
 
Vreemd, het script uit mijn vorige post werkt bij mij gewoon in FF, kun je de gehele inhoudt van je html pagina anders posten (of als het echt veel is in een bijlage stoppen)?
 
Ik denk dat ik al gezien hebt waar de fout zit.
Je hebt het javascript niet afgesloten staan.
Ik heb het letterlijk gecopieerd en in de file geplaatst.
Ik zal eens kijken of dat de oplossing is.

Gr Dennis

PS: dit script gaat bij mij draaien op een phpbb3 forum en word geplaatst in de overall_footer.html. Ook dit kan misschien een probleem zijn alleen werkt het bij IE dus wel.
 
Helaas niet gelukt.
Hierbij het volledige script van de overall_footer.html.
Wat mij persoonlijk opvalt is dat ik wel een verwijzing zie naar IE5,opera en ns6 maar geen verwijzing naar FF. Nu ben ik een leek op javascript gebied dus misschien dat ik dit fout zie.

Code:
	</div>

<div id="page-footer">

	<div class="navbar">
		<div class="inner"><span class="corners-top"><span></span></span>

		<ul class="linklist">
			<li class="icon-home"><a href="{U_INDEX}" accesskey="h">{L_INDEX}</a></li>
				<!-- IF not S_IS_BOT -->
					<!-- IF S_WATCH_FORUM_LINK --><li <!-- IF S_WATCHING_FORUM -->class="icon-unsubscribe"<!-- ELSE -->class="icon-subscribe"<!-- ENDIF -->><a href="{S_WATCH_FORUM_LINK}" title="{S_WATCH_FORUM_TITLE}">{S_WATCH_FORUM_TITLE}</a></li><!-- ENDIF -->
					<!-- IF U_WATCH_TOPIC --><li <!-- IF S_WATCHING_TOPIC -->class="icon-unsubscribe"<!-- ELSE -->class="icon-subscribe"<!-- ENDIF -->><a href="{U_WATCH_TOPIC}" title="{L_WATCH_TOPIC}">{L_WATCH_TOPIC}</a></li><!-- ENDIF -->
					<!-- IF U_BOOKMARK_TOPIC --><li class="icon-bookmark"><a href="{U_BOOKMARK_TOPIC}" title="{L_BOOKMARK_TOPIC}">{L_BOOKMARK_TOPIC}</a></li><!-- ENDIF -->
					<!-- IF U_BUMP_TOPIC --><li class="icon-bump"><a href="{U_BUMP_TOPIC}" title="{L_BUMP_TOPIC}">{L_BUMP_TOPIC}</a></li><!-- ENDIF -->
				<!-- ENDIF -->
			<li class="rightside"><a href="{U_TEAM}">{L_THE_TEAM}</a> &bull; <!-- IF not S_IS_BOT --><a href="{U_DELETE_COOKIES}">{L_DELETE_COOKIES}</a> &bull; <!-- ENDIF -->{S_TIMEZONE}</li>
		</ul>

		<span class="corners-bottom"><span></span></span></div>
	</div>
	
<!--
	We request you retain the full copyright notice below including the link to www.phpbb.com.
	This not only gives respect to the large amount of time given freely by the developers
	but also helps build interest, traffic and use of phpBB3. If you (honestly) cannot retain
	the full copyright we ask you at least leave in place the "Powered by phpBB" line, with
	"phpBB" linked to www.phpbb.com. If you refuse to include even this then support on our
	forums may be affected.

	The phpBB Group : 2006
//-->

	<div class="copyright">Powered by <a href="http://www.phpbb.com/">phpBB</a> &copy; 2000, 2002, 2005, 2007, 2008 phpBB Group<br><br>
	<strong>Style created and implemented by Dennis Kuijpers <a href="http://www.divigostables.com">Divigo Stables</a></strong><br>
	<strong>Style and layout version <a href="http://www.emhf.eu">EMHF 4.0.1</a> &copy;</strong>2008 EMHF team<br>
		<!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
		<!-- IF DEBUG_OUTPUT --><br />{DEBUG_OUTPUT}<!-- ENDIF -->
		<!-- IF U_ACP --><br /><strong><a href="{U_ACP}">{L_ACP}</a></strong><!-- ENDIF -->
	</div>
</div>

</div>

<div>
	<a id="bottom" name="bottom" accesskey="z"></a>
	<!-- IF not S_IS_BOT -->{RUN_CRON_TASK}<!-- ENDIF -->
</div>
<script type="text/javascript">
/*
Snow Fall 1 - no images - Java Script
Visit http://rainbow.arch.scriptmania.com/scripts/
 for this script and many more
*/

// Set the number of snowflakes (more than 30 - 40 not recommended)
var snowmax = 50;

// Set the colors for the snow. Add as many colors as you like
var snowcolor = new Array("#AAAACC","#DDDDFF","#CCCCDD","#F3F3F3","#F0FFFF");

// 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.6;

// Set the maximum-size of your snowflakes
var snowmaxsize = 30;

// Set the minimal-size of your snowflakes
var snowminsize = 8;

// 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;

// Do not edit below this line
var snow = new Array();
var marginbottom;
var marginright;
var i_snow = 0;
var x_mv = new Array();
var crds = new Array();
var lftrght = new Array();
var browserinfos = navigator.userAgent;
var ie5 = document.getElementById && document.all && !browserinfos.match(/Opera/);
var ns6 = document.getElementById && !document.all;
var opera = browserinfos.match(/Opera/);

function randommaker(range)
{
	return(Math.floor(range * Math.random()));
}

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(var 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 (var 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
		}
	}

	setTimeout("movesnow()",50);
}

for (var i = 0; i <= snowmax; i++)
{
	document.write("<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"'>"+snowletter+"</span>");
}

window.onload = initsnow;
</script>




</body>
</html>

Hopelijk kun je er iets mee.

Gr Dennis
 
Lol, ik heb net hetzelfde met dat script proberen doen als ik het goed heb :D

Als ik het me goed herinner was de oplossing iets met dat script niet in overall_footer.tpl (het is toch .tpl en niet .html?) te zetten, maar op voorhand te echo'en. Dan dee die het wel in ff :)

Hoop dat je daar iets aan heb.
 
Lol, ik heb net hetzelfde met dat script proberen doen als ik het goed heb :D

Als ik het me goed herinner was de oplossing iets met dat script niet in overall_footer.tpl (het is toch .tpl en niet .html?) te zetten, maar op voorhand te echo'en. Dan dee die het wel in ff :)

Hoop dat je daar iets aan heb.
Het is een hml file.
Maar echoen? dat zegt me dus helemaal niks.
Ik weet dat het met php te maken heeft maar verder?
Maar is dit probleem dan alleen in FF?

Gr Dennis
 
Deze werkt bij mij in IE, Fx en Opera:
PHP:
<body bgcolor="#336699">


<!--Simply copy and paste into <BODY>  
     Just above the </BODY> tag. -->

<SCRIPT type="text/javascript">
/*
Snow Fall 1 - no images - Java Script
Visit http://rainbow.arch.scriptmania.com/scripts/
  for this script and many more
*/

// Set the number of snowflakes (more than 30 - 40 not recommended)
var snowmax=50

// Set the colors for the snow. Add as many colors as you like
var snowcolor=new Array("#AAAACC","#DDDDFF","#CCCCDD","#F3F3F3","#F0FFFF")

// 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.6

// Set the maximum-size of your snowflakes
var snowmaxsize=30

// Set the minimal-size of your snowflakes
var snowminsize=8

// 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

  /*
   //   * NO CONFIGURATION BELOW 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 browserok = (document.getElementById ? true : false);

function randommaker(range) {		
	rand=Math.floor(range*Math.random())
    return rand
}

function initsnow() {

	marginbottom = (document.body.clientHeight ? document.body.clientHeight : window.innerHeight);
	marginright = (document.body.clientWidth ? document.body.clientWidth : 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
}
</SCRIPT>


</body>
De (foute) browserherkenning is vervangen door:
PHP:
var browserok = (document.getElementById ? true : false);
als het object document.getElementById bestaat wordt browserok true, anders false. En:
PHP:
	marginbottom = (document.body.clientHeight ? document.body.clientHeight : window.innerHeight);
	marginright = (document.body.clientWidth ? document.body.clientWidth : window.innerWidth);
werkt ook door op een object te testen en niet een browser. :)


Vr.Gr. Egel.
 
Laatst bewerkt:
Is er niemand die kan weten waar het probleem zit?


Gr Dennis
 
Hij doet 't inderdaad niet met Fx. :confused:

Probeer deze eens:
PHP:
<body bgcolor="#336699"> 


<!--Simply copy and paste into <BODY>   
     Just above the </BODY> tag. --> 

<SCRIPT type="text/javascript"> 
/* 
Snow Fall 1 - no images - Java Script 
Visit http://rainbow.arch.scriptmania.com/scripts/ 
  for this script and many more 
*/ 

// Set the number of snowflakes (more than 30 - 40 not recommended) 
var snowmax=50 

// Set the colors for the snow. Add as many colors as you like 
var snowcolor=new Array("#AAAACC","#DDDDFF","#CCCCDD","#F3F3F3","#F0FFFF") 

// 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.6 

// Set the maximum-size of your snowflakes 
var snowmaxsize=30 

// Set the minimal-size of your snowflakes 
var snowminsize=8 

// 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 

  /* 
   //   * NO CONFIGURATION BELOW 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 browserok = (document.getElementById ? true : false); 

function randommaker(range) {         
    rand=Math.floor(range*Math.random()) 
    return rand 
} 

function initsnow() { 

    marginbottom = (document.body.clientHeight ? document.body.clientHeight : window.innerHeight); 
    marginright = (document.body.clientWidth ? document.body.clientWidth : 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 + 'px';
        snow[i].style.top = snow[i].posy + 'px';
    };
    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]) + 'px'; 
        snow[i].style.top= snow[i].posy + 'px';
         
        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 + 'px; left: 0px;">' + snowletter + '</span>');
};
if (browserok) { 
    window.onload=initsnow 
};
</SCRIPT> 


</body>
Ik heb 'px' toegevoegd bij de .style.left en .style.top, Fx doet raar als dat er niet bijstaat bij negatieve waarden. :)


Vr.Gr. Egel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan