vb.org Archive

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

OldSchoolDSL 10-09-2013 10: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, below

Code:

</vb:if>
</div>

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

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

See the original from vBulletin 3.x, 4.x, 5.x, and my other remaining releases https://vborg.vbsupport.ru/member.php?u=404458

Don't forget to mark install and review this. :)


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

OldSchoolDSL 10-10-2013 04:17 AM

Good-bye vBulletin.org :(

This will be my last release here as OldSchoolDSL. Even as I type this, the licenses associated with this account is pending transfer (I gave it away for free & I believe they sold it).

I still recall the original vBulletin 1.0 and even the short lived vBulletin Lite (yes, there use to be a free version, didn't you know). I remember all the little debates I had with some of you & even the friendly chats. A few of you are no longer with us (some moved on, some passed away).

I wish those of you who will be staying all the very best. And I want to thank the staff here who some of you started our as voluntary, but later became employed; all the very best as well. I hope the work you continue to do here is appreciated. I appreciated it.

I also want to wish all the developers who remain the best of luck. None of you ever truly get the credit you deserve for all the effort and hard work you place into your free creativity. Some of you I would say even deserve a good paycheck from IB for the effort and work you have contributed (doubt they'll ever recognize that, but know that I and others did).

Thanks for the laughs, the good times, the lessons, the debates, and the warm wishes I received.

I regret nothing.

Best wishes and all the best of luck,

Adam Howard

OldSchoolDSL 08-28-2014 04:23 PM

Tested and working on the current vBulletin 5.

So for those of you looking forward to the holiday season coming up... This still works :)

Benedicte 09-26-2014 08:16 AM

Will this work on vBulletin 4?

ozzy47 09-26-2014 09:28 AM

Use this version, https://vborg.vbsupport.ru/showthread.php?t=275416

OldSchoolDSL 07-17-2017 02:19 PM

No longer supported as I no longer use vBulletin having moved to both WoltLab Burning Board and Invision Power Board.

I have 100% permission to reuse, modify, improve, enhance, and redistribute this code as freeware to anyone, everyone, and everywhere.

Good luck :)

adkaush 07-20-2017 04:05 AM

I hope you are doing great wherever you are Adam. Wishing you the best in life for all that you did for the community here. Thanks and have a wonderful time.

Brandon Sheley 07-20-2017 06:05 AM

Thanks for sharing the code DSL, have a great day :)


All times are GMT. The time now is 02:14 PM.

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.01090 seconds
  • Memory Usage 1,748KB
  • 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
  • (3)bbcode_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (8)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
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete