/    Sign up×
Community /Pin to ProfileBookmark

Problem with snowing script!

I have a script which creates characters falling across a screen – this creates a snow effect:

[CODE]// Set the number of snowflakes (more than 30 – 40 not recommended)
var snowmax=54

// 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=”*” // (use “*” for snow flakes)

// Set the speed of sinking (recommended values range from 0.3 to 2)
var sinkspeed=2

// Set the maximal-size of your snowflaxes
var snowmaxsize=30

// Set the minimal-size of your snowflaxes
var snowminsize=10

// 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 snowmarginbottom
var snowmarginright
var snowtimer
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 snowrandommaker(range) {
rand=Math.floor(range*Math.random())
return rand
}

function initsnow() {
if (ie5 || opera) {
snowmarginbottom = document.body.clientHeight
snowmarginright = document.body.clientWidth
}
else if (ns6) {
snowmarginbottom = window.innerHeight
snowmarginright = 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[snowrandommaker(snowtype.length)]
snow[i].size=snowrandommaker(snowsizerange)+snowminsize
snow[i].style.fontSize=snow[i].size
snow[i].style.color=snowcolor[snowrandommaker(snowcolor.length)]
snow[i].sink=sinkspeed*snow[i].size/5
if (snowingzone==1) {snow[i].posx=snowrandommaker(snowmarginright-snow[i].size)}
if (snowingzone==2) {snow[i].posx=snowrandommaker(snowmarginright/2-snow[i].size)}
if (snowingzone==3) {snow[i].posx=snowrandommaker(snowmarginright/2-snow[i].size)+snowmarginright/4}
if (snowingzone==4) {snow[i].posx=snowrandommaker(snowmarginright/2-snow[i].size)+snowmarginright/2}
snow[i].posy=snowrandommaker(2*snowmarginbottom-snowmarginbottom-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>=snowmarginbottom-2*snow[i].size || parseInt(snow[i].style.left)>(snowmarginright-3*lftrght[i])){
if (snowingzone==1) {snow[i].posx=snowrandommaker(snowmarginright-snow[i].size)}
if (snowingzone==2) {snow[i].posx=snowrandommaker(snowmarginright/2-snow[i].size)}
if (snowingzone==3) {snow[i].posx=snowrandommaker(snowmarginright/2-snow[i].size)+snowmarginright/4}
if (snowingzone==4) {snow[i].posx=snowrandommaker(snowmarginright/2-snow[i].size)+snowmarginright/2}
snow[i].posy=0
}
}
var snowtimer=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
}[/CODE]

Results here: [url]http://thelangton.org.uk/snow.php[/url]

However, when I combine this with my website ([url]www.thelangton.org.uk)[/url], I get one solitary * in the top left corner, and according to the Firefox debugger, I have the two following warnings:

[QUOTE]

Warning: Error in parsing value for property ‘left’. Declaration dropped.

[/QUOTE]

and

[QUOTE]

Warning: Error in parsing value for property ‘top’. Declaration dropped.

[/QUOTE]

I have tried turning off all the other scripts on the page, but still nothing.

Any idea what’s up?

Ed Ludlow

to post a comment
JavaScript

2 Comments(s)

Copy linkTweet thisAlerts:
@TheBearMayDec 14.2006 — IE lets you get by without including the units, but Mozilla won't. Try this:
<i>
</i>// Set the number of snowflakes (more than 30 - 40 not recommended)
var snowmax=54

// 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="*" // (use "*" for snow flakes)

// Set the speed of sinking (recommended values range from 0.3 to 2)
var sinkspeed=2

// Set the maximal-size of your snowflaxes
var snowmaxsize=30

// Set the minimal-size of your snowflaxes
var snowminsize=10

// 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 snowmarginbottom
var snowmarginright
var snowtimer
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&amp;&amp;document.getElementById&amp;&amp;!browserinfos.match(/Opera/)
var ns6=document.getElementById&amp;&amp;!document.all
var opera=browserinfos.match(/Opera/)
var browserok=ie5||ns6||opera

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

function initsnow() {
if (ie5 || opera) {
snowmarginbottom = document.getElementsByTagName("html")[0].clientHeight
snowmarginright = document.getElementsByTagName("html")[0].clientWidth
}
else if (ns6) {
snowmarginbottom = window.innerHeight
snowmarginright = window.innerWidth
}
var snowsizerange=snowmaxsize-snowminsize
for (i=0;i&lt;=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[snowrandommaker(snowtype.length)]
snow[i].size=snowrandommaker(snowsizerange)+snowminsize
snow[i].style.fontSize=snow[i].size+"px"
snow[i].style.color=snowcolor[snowrandommaker(snowcolor.length)]
snow[i].sink=sinkspeed*snow[i].size/5
if (snowingzone==1) {snow[i].posx=snowrandommaker(snowmarginright-snow[i].size)}
if (snowingzone==2) {snow[i].posx=snowrandommaker(snowmarginright/2-snow[i].size)}
if (snowingzone==3) {snow[i].posx=snowrandommaker(snowmarginright/2-snow[i].size)+snowmarginright/4}
if (snowingzone==4) {snow[i].posx=snowrandommaker(snowmarginright/2-snow[i].size)+snowmarginright/2}
snow[i].posy=snowrandommaker(2*snowmarginbottom-snowmarginbottom-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&lt;=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"

<i> </i> if (snow[i].posy&gt;=snowmarginbottom-2*snow[i].size || parseInt(snow[i].style.left)&gt;(snowmarginright-3*lftrght[i])){
<i> </i> if (snowingzone==1) {snow[i].posx=snowrandommaker(snowmarginright-snow[i].size)}
<i> </i> if (snowingzone==2) {snow[i].posx=snowrandommaker(snowmarginright/2-snow[i].size)}
<i> </i> if (snowingzone==3) {snow[i].posx=snowrandommaker(snowmarginright/2-snow[i].size)+snowmarginright/4}
<i> </i> if (snowingzone==4) {snow[i].posx=snowrandommaker(snowmarginright/2-snow[i].size)+snowmarginright/2}
<i> </i> snow[i].posy=0
<i> </i> }
}
var snowtimer=setTimeout("movesnow()",50)
}

for (i=0;i&lt;=snowmax;i++) {
document.write("&lt;span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"'&gt;"+snowletter+"&lt;/span&gt;")
}
if (browserok) {
window.onload=initsnow
}
Copy linkTweet thisAlerts:
@eludlowauthorDec 14.2006 — Perfect, thanks.

So it's basically FF doing things properly :p

Ed
×

Success!

Help @eludlow spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.24,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...