Snow Effect

Started by Fantom007, December 12, 2009, 04:27:20 AM

Previous topic - Next topic

Fantom007

HEllo

I have a question I tried to add snow effect but wath I read on forum I tried and always shows error

Can somebody help me...

I need it for RC1  and RC2


Arantor

* Arantor would point out it makes the browser sluggish, as nice as it might look.

petesky

Yes but it's for a few days in december and if he likes it ....  ;D

Nameless?

try this one  8)

It doesn't need images uploaded to your server. It uses font types to make the snowflake images which makes it easier for users to install to their websites.
Copy the code and paste in after the <body> tag.

<script>// Set the number of snowflakes
(more than 30 - 40 not recommended) var snowmax=35 // 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.6 // Set the maximal-size of your snowflaxes var
snowmaxsize=22 // Set the minimal-size of your snowflaxes 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=3 ///////////////////////////////////////////////////////////////////////////
// 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 } </script>


Nameless?


Antechinus

There's another basic one which has low cpu usage. Add the file to your theme's scripts folder and add the following code to your index.template.php (can go almost anywhere).

echo '
<script type="text/javascript" src="', $settings['theme_url'], '/scripts/snow.js" type="text/javascript">

/***********************************************
* Snow Effect without images-by Kurt Grigg at http://www.btinternet.com/~kurt.grigg/javascript
* Script featured &amp; available at Dynamic Drive at http://www.dynamicdrive.com/
* Please keep this notice intact
***********************************************/

</script>

searchgr

 Antechinus, it gave me a parse error, i forgot to copy-paste it.

b4pjoe

Quote from: Antechinus on December 12, 2009, 03:14:30 PM
There's another basic one which has low cpu usage. Add the file to your theme's scripts folder and add the following code to your index.template.php (can go almost anywhere).

echo '
<script type="text/javascript" src="', $settings['theme_url'], '/scripts/snow.js" type="text/javascript">

/***********************************************
* Snow Effect without images-by Kurt Grigg at http://www.btinternet.com/~kurt.grigg/javascript
* Script featured &amp; available at Dynamic Drive at http://www.dynamicdrive.com/
* Please keep this notice intact
***********************************************/

</script>


I get the following when trying this:

Template Parse Error!

There was a problem loading the /Themes/default/index.template.php template or language file. Please check the syntax and try again - remember, single quotes (') often have to be escaped with a slash (\). To see more specific error information from PHP, try accessing the file directly.

You may want to try to refresh this page or use the default theme.

Warning: Unexpected character in input: ''' (ASCII=39) state=1 in .../Themes/default/index.template.php on line 498

Parse error: syntax error, unexpected '/' in .../Themes/default/index.template.php on line 498
489: echo '
490: <div class="buttonlist', !empty($direction) ? ' align_' . $direction : '', '"', (empty($buttons) ? ' style="display: none;"' : ''), (!empty($strip_options['id']) ? ' id="' . $strip_options['id'] . '"': ''), '>
491: <ul>
492: <li>', implode('</li><li>', $buttons), '</li>
493: </ul>
494: </div>';
495: }
496:
497: echo '
498: <script type="text/javascript" src="', $settings['theme_url'], /scripts/snow.js" type="text/javascript">
499:
500: /***********************************************
501: * Snow Effect without images-by Kurt Grigg at http://www.btinternet.com/~kurt.grigg/javascript
502: * Script featured & available at Dynamic Drive at http://www.dynamicdrive.com/

Nick Whetstone

Quote from: joec88 on December 13, 2009, 12:29:50 PM
Quote from: Antechinus on December 12, 2009, 03:14:30 PM
There's another basic one which has low cpu usage. Add the file to your theme's scripts folder and add the following code to your index.template.php (can go almost anywhere).

echo '
<script type="text/javascript" src="', $settings['theme_url'], '/scripts/snow.js" type="text/javascript">

/***********************************************
* Snow Effect without images-by Kurt Grigg at http://www.btinternet.com/~kurt.grigg/javascript
* Script featured &amp; available at Dynamic Drive at http://www.dynamicdrive.com/
* Please keep this notice intact
***********************************************/

</script>


I get the following when trying this:

Template Parse Error!

There was a problem loading the /Themes/default/index.template.php template or language file. Please check the syntax and try again - remember, single quotes (') often have to be escaped with a slash (\). To see more specific error information from PHP, try accessing the file directly.

You may want to try to refresh this page or use the default theme.

Warning: Unexpected character in input: ''' (ASCII=39) state=1 in .../Themes/default/index.template.php on line 498

Parse error: syntax error, unexpected '/' in .../Themes/default/index.template.php on line 498
489: echo '
490: <div class="buttonlist', !empty($direction) ? ' align_' . $direction : '', '"', (empty($buttons) ? ' style="display: none;"' : ''), (!empty($strip_options['id']) ? ' id="' . $strip_options['id'] . '"': ''), '>
491: <ul>
492: <li>', implode('</li><li>', $buttons), '</li>
493: </ul>
494: </div>';
495: }
496:
497: echo '
498: <script type="text/javascript" src="', $settings['theme_url'], /scripts/snow.js" type="text/javascript">
499:
500: /***********************************************
501: * Snow Effect without images-by Kurt Grigg at http://www.btinternet.com/~kurt.grigg/javascript
502: * Script featured & available at Dynamic Drive at http://www.dynamicdrive.com/


Attach your index.template.php file, please. :)
The artist formerly known as (Ha)²

Former Support Specialist

Please do not solicit support via PM. Here's why!

b4pjoe


Nick Whetstone

Try...
Code (find) Select
<script type="text/javascript" src="', $settings['theme_url'], /scripts/snow.js" type="text/javascript">
Code (replace) Select
<script type="text/javascript" src="', $settings['theme_url'], '/scripts/snow.js" type="text/javascript">

Also, make sure your JS is located at pathto.com/yourforum/yourtheme/scripts/snow.js , and if it isn't adjust it so that it is.
The artist formerly known as (Ha)²

Former Support Specialist

Please do not solicit support via PM. Here's why!

busterone

^ That one doesn't work either.
parse error
unexpected '<'  in whatever line that this is placed in-
<script type="text/javascript" src="', $settings['theme_url'], /scripts/snow.js" type="text/javascript">

Nick Whetstone

<script type="text/javascript" src="', $settings['theme_url'], '/scripts/snow.js" type="text/javascript">

doesn't work? Hmm...
Can you attach your index.template.php file?
The artist formerly known as (Ha)²

Former Support Specialist

Please do not solicit support via PM. Here's why!

busterone

I was just curious about it. I tried it on several themes' index.template.php files and in several different spots. Same results every time. I wasn't planning on using it though.

Nick Whetstone

#16
One reason it may not work is that you didn't echo it properly. eg instead of JUST the code I posted it should be
echo '
<script type="text/javascript" src="', $settings['theme_url'], '/scripts/snow.js" type="text/javascript">
/***********************************************
* Snow Effect without images-by Kurt Grigg at http://www.btinternet.com/~kurt.grigg/javascript
* Script featured &amp; available at Dynamic Drive at http://www.dynamicdrive.com/
* Please keep this notice intact
***********************************************/
</script>';


And placed somewhere in the <head> area

EDIT
I just tested this on a clean install of RC2 and it worked perfectly...
Find:
// Output any remaining HTML headers. (from mods, maybe?)
echo $context['html_headers'];

Replace with:


// Let it snow, let it snow, let it snow...
echo '
<script type="text/javascript" src="', $settings['theme_url'], '/scripts/snow.js" type="text/javascript">
/***********************************************
* Snow Effect without images-by Kurt Grigg at http://www.btinternet.com/~kurt.grigg/javascript
* Script featured &amp; available at Dynamic Drive at http://www.dynamicdrive.com/
* Please keep this notice intact
***********************************************/
</script>';


// Output any remaining HTML headers. (from mods, maybe?)
echo $context['html_headers'];
The artist formerly known as (Ha)²

Former Support Specialist

Please do not solicit support via PM. Here's why!

busterone

Very odd indeed. I did have it echo'd as it should have been.
The newest one you posted did work. Very strange, but it did work this time.  :)

smp420

#18
I packaged up Antechinus code. If your using a custom theme install it in there with the package manager and then add the snow.js file to your scripts folder. I included another package for 1.1.x I couldn't test it as I have no 1.1.x site. but it should work. for 1.1.x snow.js goes in goes in your themes folder.
"Things turn out best for those who make the best of the way things turn out." -Jack Buck

b4pjoe

Quote from: Ha² on December 13, 2009, 11:00:31 PM
I just tested this on a clean install of RC2 and it worked perfectly...
Find:
// Output any remaining HTML headers. (from mods, maybe?)
echo $context['html_headers'];

Replace with:


// Let it snow, let it snow, let it snow...
echo '
<script type="text/javascript" src="', $settings['theme_url'], '/scripts/snow.js" type="text/javascript">
/***********************************************
* Snow Effect without images-by Kurt Grigg at http://www.btinternet.com/~kurt.grigg/javascript
* Script featured &amp; available at Dynamic Drive at http://www.dynamicdrive.com/
* Please keep this notice intact
***********************************************/
</script>';


// Output any remaining HTML headers. (from mods, maybe?)
echo $context['html_headers'];


Thanks, this one worked.

Advertisement: