vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.8 Template Modifications (https://vborg.vbsupport.ru/forumdisplay.php?f=236)
-   -   Forum Display Enhancements - Classic Style Snow Fall (https://vborg.vbsupport.ru/showthread.php?t=275419)

OldSchoolDSL 12-12-2011 11:00 PM

Classic Style Snow Fall
 
1 Attachment(s)
This will give your site a classic holiday snow fall without any images, uploading any files, or adding any server load to your site.

It is also customize-able to fit your needs. :)


Classic Snow Fall

In your footer at the very end and below any other scripts you may already have there.

Add the following

Code:

<SCRIPT type="text/javascript">
/*
Classic Snow Fall - Java 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","#f3f3f3","#f0ffff")

// Set the fonts, that create the snowflakes. Add as many fonts as you like
var snowtype=new Array("Times","Arial","Times","Verdana")

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

///////////////////////////////////////////////////////////////////////////
// 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.scrollHeight
                marginright = document.body.clientWidth-15
        }
        else if (ns6) {
                marginbottom = document.body.scrollHeight
                marginright = window.innerWidth-15
        }
        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+'px';
                snow[i].style.color=snowcolor[randommaker(snowcolor.length)]
                snow[i].style.zIndex=1000
                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+"'>"+snowletter+"</span>")
}
if (browserok) {
        window.onload=initsnow
}

</SCRIPT>

Save and reload
In another browser tab or windows, review the results.
If all is well as it should be, you're done.

Please mark as installed :o

UPDATE 12-23-2011

Not a code update, but an optimized suggestion. As I know many of you will start using this on Christmas Eve.

Suggestion:

If you know your community has a lot of mobile web users, such as Apple iPod, setting the snow fall value count to 20 works best. (original value is 35).


Code:

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


Happy Holidays :)


If you're tired of vBulletin you should upgrade to Woltlab Burning Board http://woltlab.com

3amalah 12-13-2011 06:28 PM

http://www.llssll.com/vb/index.php?styleid=91

:)

Max Taxable 12-13-2011 07:15 PM

CPU intensive on your visitors and users though. But will use it on Christmas Day anyway, THANKS!

OldSchoolDSL 12-13-2011 09:37 PM

Quote:

Originally Posted by 3amalah (Post 2277437)

I'm glad you like it, please click installed :)

OldSchoolDSL 12-13-2011 09:39 PM

Quote:

Originally Posted by Max Taxable (Post 2277449)
CPU intensive on your visitors and users though. But will use it on Christmas Day anyway, THANKS!

No more so than any other java script.

The only higher than average load I got on this was if you're using a much older browser... ie .... Internet Explorer 6 (which is discontinued by Microsoft and vBulletin is also stopping support for).

Enjoy using this on Christmas :)

Max Taxable 12-13-2011 10:47 PM

Quote:

Originally Posted by OldSchoolDSL (Post 2277487)
No more so than any other java script.

The only higher than average load I got on this was if you're using a much older browser... ie .... Internet Explorer 6 (which is discontinued by Microsoft and vBulletin is also stopping support for).

Enjoy using this on Christmas :)

On my FF 9 it increases CPU load quite a bit, and a couple of my staff coders noticed it too. It appears to be worse on IE9 though then it does on safari or FF.

I personally don't know of any humans still using IE6 Hahaha!

But like I said, it's not a permanent thing. Just a Christmas Day surprise and I appreciate it.

Excilium 12-20-2011 03:44 AM

I'm afraid all the ones I've installed have increased CPU usage, I don't think I'll be using this one either, thanks for the share at least!

OldSchoolDSL 12-22-2011 06:38 AM

Quote:

Originally Posted by Excilium (Post 2279283)
I'm afraid all the ones I've installed have increased CPU usage, I don't think I'll be using this one either, thanks for the share at least!

Set the snow foll down to 20 and it loads fine on even an iPod ;)

j-bo 12-22-2011 05:11 PM

Excellent. Just tested it and will be putting it into use on Christmas Eve.

TheInformer 12-23-2011 04:11 PM

Just installed this on our4.1.9 site and is working a treat, not noticed any major resource difference either


All times are GMT. The time now is 01:18 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01343 seconds
  • Memory Usage 1,761KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete