[All Cms] Snow effect For Any Cms

Page 1 of 2 12 LastLast
Results 1 to 25 of 27
  1. #1
    Sorcerer Supreme vistadosentwork is offline
    Member +Rank
    Mar 2008 Join Date
    http://habhotelLocation
    374Posts

    [All Cms] Snow effect For Any Cms

    Hey I was messing around In class last week and stumbled across this code, it was messy and wouldn't work so I fixed it and decided to release it:

    Demo: http://thehabbos.info/


    Code One: (Put this in your Headder of your Cms)
    PHP Code:
    <div class='SnowFall'>
    <
    script src="./Snow.js" type="text/javascript"></script>
    </div> 
    Then save it,

    Then in the same directory as your headder make a flie called
    Snow.js then paste this inside.

    PHP Code:
    // VistaDosentWork, From Ragezone!

    if  ((document.getElementById) && 
    window.addEventListener || window.attachEvent){

    (function(){

    //Configure here.

    var num 25;   //Number of flakes
    var timer 30//setTimeout speed. Varies on different comps
    var enableinNS6 //Enable script in NS6/Mozilla? Snow animation could be slow in those browsers. (1=yes, 0=no).

    //End.

    var = [];
    var 
    = [];
    var 
    fall = [];
    var 
    theFlakes = [];
    var 
    sfs = [];
    var 
    step = [];
    var 
    currStep = [];
    var 
    h,w,r;
    var 
    document;
    var 
    pix "px";
    var 
    domWw = (typeof window.innerWidth == "number");
    var 
    domSy = (typeof window.pageYOffset == "number");
    var 
    idx d.getElementsByTagName('div').length;

    if (
    d.documentElement.style && 
    typeof d.documentElement.style.MozOpacity == "string")
    num 12;

    for (
    0numi++){
    sfs[i] = Math.round(Math.random() * 1);

    document.write('<div id="flake'+(idx+i)+'" style="position:absolute;top:0px;left:0px;width:'
    +sfs[i]+'px;height:'+sfs[i]+'px;background-color:#ffffff;font-size:'+sfs[i]+'px"><\/div>');

    currStep[i] = 0;
    fall[i] = (sfs[i] == 1)?
    Math.round(Math.random() * 2): Math.round(Math.random() * 2);
    step[i] = (sfs[i] == 1)?
    0.05 Math.random() * 0.1 0.05 Math.random() * 0.05 ;
    }


    if (
    domWwwindow;
    else{ 
      if (
    d.documentElement && 
      
    typeof d.documentElement.clientWidth == "number" && 
      
    d.documentElement.clientWidth != 0)
      
    d.documentElement;
     else{ 
      if (
    d.body && 
      
    typeof d.body.clientWidth == "number")
      
    d.body;
     }
    }


    function 
    winsize(){
    var 
    oh,sy,ow,sx,rh,rw;
    if (
    domWw){
      if (
    d.documentElement && d.defaultView && 
      
    typeof d.defaultView.scrollMaxY == "number"){
      
    oh d.documentElement.offsetHeight;
      
    sy d.defaultView.scrollMaxY;
      
    ow d.documentElement.offsetWidth;
      
    sx d.defaultView.scrollMaxX;
      
    rh oh-sy;
      
    rw ow-sx;
     }
     else{
      
    rh r.innerHeight;
      
    rw r.innerWidth;
     }
    rh 2;  
    rw 2
    }
    else{
    r.clientHeight 2
    r.clientWidth 2
    }
    }


    function 
    scrl(yx){
    var 
    y,x;
    if (
    domSy){
     
    r.pageYOffset;
     
    r.pageXOffset;
     }
    else{
     
    r.scrollTop;
     
    r.scrollLeft;
     }
    return (
    yx == 0)?y:x;
    }


    function 
    snow(){
    var 
    dy,dx;

    for (
    0numi++){
     
    dy fall[i];
     
    dx fall[i] * Math.cos(currStep[i]);

     
    y[i]+=dy;
     
    x[i]+=dx

     if (
    x[i] >= || y[i] >= h){
      
    y[i] = -10;
      
    x[i] = Math.round(Math.random() * w);
      
    fall[i] = (sfs[i] == 1)?
      
    Math.round(Math.random() * 2): Math.round(Math.random() * 2);
      
    step[i] = (sfs[i] == 1)?
      
    0.05 Math.random() * 0.1 0.05 Math.random() * 0.05 ;
     }
     
     
    theFlakes[i].top y[i] + scrl(0) + pix;
     
    theFlakes[i].left x[i] + scrl(1) + pix;

     
    currStep[i]+=step[i];
    }
    setTimeout(snow,timer);
    }


    function 
    init(){
    winsize();
    for (
    0numi++){
     
    theFlakes[i] = document.getElementById("flake"+(idx+i)).style;
     
    y[i] = Math.round(Math.random()*h);
     
    x[i] = Math.round(Math.random()*w);
    }
    snow();
    }


    if (
    window.addEventListener){
     
    window.addEventListener("resize",winsize,false);
     
    window.addEventListener("load",init,false);
    }  
    else if (
    window.attachEvent){
     
    window.attachEvent("onresize",winsize);
     
    window.attachEvent("onload",init);


    })();
    }
    //End. 
    Done Simple and effective!! Any Questions im free to ask.
    Last edited by vistadosentwork; 12-12-10 at 09:38 PM.


  2. #2
    I use to love it more! Jmandupree is offline
    Grand MasterRank
    Oct 2009 Join Date
    /ragezone/homeLocation
    996Posts

    Re: [All Cms] Snow effect For Any Cms

    Lol Thanks I have wanted this just to lazy to get!

  3. #3
    Grand Master Zak© is offline
    Grand MasterRank
    Oct 2007 Join Date
    2,693Posts

    Re: [All Cms] Snow effect For Any Cms

    nicealway knew that it was a js ;D

  4. #4
    sexiess is a sin. Subway is offline
    Grand MasterRank
    Jun 2010 Join Date
    2,491Posts

    Re: [All Cms] Snow effect For Any Cms

    great awesome release works for me @ wabbo.biz :)

  5. #5
    Banned PEjump2 is offline
    BannedRank
    Jan 2010 Join Date
    The NetherlandsLocation
    2,838Posts

    Re: [All Cms] Snow effect For Any Cms

    Nice release, but what did you exacly change? :P

  6. #6
    Sorcerer Supreme GrandCoder is offline
    Member +Rank
    Jul 2010 Join Date
    BramptonLocation
    413Posts

    Re: [All Cms] Snow effect For Any Cms

    Very Nice, But you think u can make snow flakes a little bit bigger and re-rel for me please bro? thanksx!!

  7. #7
    yerro Adde is offline
    Grand MasterRank
    Feb 2010 Join Date
    none ur bizzLocation
    2,731Posts

    Re: [All Cms] Snow effect For Any Cms

    Whatsup with the demo?

  8. #8
    Live Ocottish Sverlord Joopie is online now
    LegendRank
    Jun 2010 Join Date
    The NetherlandsLocation
    2,773Posts

    Re: [All Cms] Snow effect For Any Cms

    Quote Originally Posted by Adde View Post
    Whatsup with the demo?
    It's white snow with á white background

  9. #9
    The one and only! Hejula is offline
    Grand MasterRank
    Nov 2008 Join Date
    4,128Posts

    Re: [All Cms] Snow effect For Any Cms

    Quote Originally Posted by joopie View Post
    It's white snow with á white background
    It's white snow with a black background***



    You need to change the body tag to <body bgcolor="#000000">, vistadoesntwork

  10. #10
    Grand Master xnicnicx is offline
    Grand MasterRank
    Mar 2010 Join Date
    AustraliaLocation
    636Posts

    Re: [All Cms] Snow effect For Any Cms

    Quote Originally Posted by Hejula View Post
    It's white snow with a black background***



    You need to change the body tag to <body bgcolor="#000000">, vistadoesntwork
    It's white with a black background because it's easier to see (a better demo), how would the snow be good with a white background..

    This is pretty good because of Christmas

  11. #11
    The one and only! Hejula is offline
    Grand MasterRank
    Nov 2008 Join Date
    4,128Posts

    Re: [All Cms] Snow effect For Any Cms

    Quote Originally Posted by xnicnicx View Post
    It's white with a black background because it's easier to see (a better demo), how would the snow be good with a white background..

    This is pretty good because of Christmas
    I see. But you could just change the colour of the snow if you are using a white background

    Code:
    document.write('<div id="flake'+(idx+i)+'" style="position:absolute;top:0px;left:0px;width:' 
    +sfs[i]+'px;height:'+sfs[i]+'px;background-color:#ffffff;font-size:'+sfs[i]+'px"><\/div>');

  12. #12
    Elite Member jordyhouben is offline
    Member +Rank
    Aug 2009 Join Date
    EuropaLocation
    111Posts

    Re: [All Cms] Snow effect For Any Cms

    Uhmmm.
    Past this in your header. And ist the Same Effect.
    Your release is nice. But i could be mutch Simpler ;)

    PHP Code:
    <script type="text/javascript" src="http://images.yabbos.be/snow.js"

  13. #13
    Web Developer Papercup is offline
    Grand MasterRank
    Nov 2009 Join Date
    WalesLocation
    1,607Posts

    Re: [All Cms] Snow effect For Any Cms

    Nice Release,

  14. #14
    Newbie XSnake1996 is offline
    MemberRank
    Jul 2010 Join Date
    23Posts

    Re: [All Cms] Snow effect For Any Cms

    this is a basic js script, you can find in any site at the web .-.

  15. #15
    sexiess is a sin. Subway is offline
    Grand MasterRank
    Jun 2010 Join Date
    2,491Posts

    Re: [All Cms] Snow effect For Any Cms

    so who cares he released it for those who want it and dont know how to get it/ pm noobs ;p

  16. #16
    Sorcerer Supreme vistadosentwork is offline
    Member +Rank
    Mar 2008 Join Date
    http://habhotelLocation
    374Posts

    Re: [All Cms] Snow effect For Any Cms

    Thanks for the comments , will change demo now...
    It was just a simple layout. but ill change

    New Demo : http://thehabbos.info/

    Any One Having problems seeing the snow?
    You can change the colour by searching for : #ffffff
    then change it, E.G to green : #00ff00

    ---------- Post added at 08:37 PM ---------- Previous post was at 08:32 PM ----------

    Quote Originally Posted by XSnake1996 View Post
    this is a basic js script, you can find in any site at the web .-.
    Actually most of them use an image (.GIF ) and wont randomly generate different sizes, yes I found this script online but the Random position didn't work and the random size didn't work as well as the size it was originally 1000px by 1000px now it fills the screen.
    Last edited by vistadosentwork; 12-12-10 at 09:34 PM.

  17. #17
    sexiess is a sin. Subway is offline
    Grand MasterRank
    Jun 2010 Join Date
    2,491Posts

    Re: [All Cms] Snow effect For Any Cms

    heres code for snow falls to be bigger and fall faster :P

    PHP Code:
    var snowStorm = (function(windowdocument) {

      
    // --- common properties ---

      
    this.flakesMax 150;           // Limit total amount of snow made (falling + sticking)
      
    this.flakesMaxActive 64;      // Limit amount of snow falling at once (less = lower CPU use)
      
    this.animationInterval 33;    // Theoretical "miliseconds per frame" measurement. 20 = fast + smooth, but high CPU use. 50 = more conservative, but slower
      
    this.excludeMobile true;      // Snow is likely to be bad news for mobile phones' CPUs (and batteries.) By default, be nice.
      
    this.flakeBottom null;        // Integer for Y axis snow limit, 0 or null for "full-screen" snow effect
      
    this.followMouse true;        // Snow movement can respond to the user's mouse
      
    this.snowColor '#fff';        // Don't eat (or use?) yellow snow.
      
    this.snowCharacter '&bull;';  // &bull; = bullet, &middot; is square on some systems etc.
      
    this.snowStick true;          // Whether or not snow should "stick" at the bottom. When off, will never collect.
      
    this.targetElement null;      // element which snow will be appended to (null = document.body) - can be an element ID eg. 'myDiv', or a DOM node reference
      
    this.useMeltEffect true;      // When recycling fallen snow (or rarely, when falling), have it "melt" and fade out if browser supports it
      
    this.useTwinkleEffect false;  // Allow snow to randomly "flicker" in and out of view while falling
      
    this.usePositionFixed false;  // true = snow does not shift vertically when scrolling. May increase CPU load, disabled by default - if enabled, used only where supported

      // --- less-used bits ---

      
    this.freezeOnBlur true;       // Only snow when the window is in focus (foreground.) Saves CPU.
      
    this.flakeLeftOffset 0;       // Left margin/gutter space on edge of container (eg. browser window.) Bump up these values if seeing horizontal scrollbars.
      
    this.flakeRightOffset 0;      // Right margin/gutter space on edge of container
      
    this.flakeWidth 8;            // Max pixel width reserved for snow element
      
    this.flakeHeight 8;           // Max pixel height reserved for snow element
      
    this.vMaxX 5;                 // Maximum X velocity range for snow
      
    this.vMaxY 4;                 // Maximum Y velocity range for snow
      
    this.zIndex 0;                // CSS stacking order applied to each snowflake

      // --- End of user section ---

      
    var thisstorm thisi,
      
    // UA sniffing and backCompat rendering mode checks for fixed position, etc.
      
    isIE navigator.userAgent.match(/msie/i),
      
    isIE6 navigator.userAgent.match(/msie 6/i),
      
    isWin98 navigator.appVersion.match(/windows 98/i),
      
    isMobile navigator.userAgent.match(/mobile/i),
      
    isBackCompatIE = (isIE && document.compatMode === 'BackCompat'),
      
    noFixed = (isMobile || isBackCompatIE || isIE6),
      
    screenX nullscreenX2 nullscreenY nullscrollY nullvRndX nullvRndY null,
      
    windOffset 1,
      
    windMultiplier 2,
      
    flakeTypes 6,
      
    fixedForEverything false,
      
    opacitySupported = (function(){
        try {
          
    document.createElement('div').style.opacity '0.5';
        } catch(
    e) {
          return 
    false;
        }
        return 
    true;
      }()),
      
    didInit false,
      
    docFrag document.createDocumentFragment();

      
    this.timers = [];
      
    this.flakes = [];
      
    this.disabled false;
      
    this.active false;
      
    this.meltFrameCount 20;
      
    this.meltFrames = [];

      
    this.events = (function() {

        var 
    old = (window.attachEvent), slice = Array.prototype.slice,
        
    evt = {
          
    add: (old?'attachEvent':'addEventListener'),
          
    remove: (old?'detachEvent':'removeEventListener')
        };

        function 
    getArgs(oArgs) {
          var 
    args slice.call(oArgs), len args.length;
          if (
    old) {
            
    args[1] = 'on' args[1]; // prefix
            
    if (len 3) {
              
    args.pop(); // no capture
            
    }
          } else if (
    len === 3) {
            
    args.push(false);
          }
          return 
    args;
        }

        function 
    apply(argssType) {
          var 
    oFunc args.shift()[evt[sType]];
          if (
    old) {
            
    oFunc(args[0], args[1]);
          } else {
            
    oFunc.apply(thisargs);
          }
        }

        function 
    addEvent() {
          
    apply(getArgs(arguments), 'add');
        }

        function 
    removeEvent() {
          
    apply(getArgs(arguments), 'remove');
        }

        return {
          
    addaddEvent,
          
    removeremoveEvent
        
    };

      }());

      function 
    rnd(n,min) {
        if (
    isNaN(min)) {
          
    min 0;
        }
        return (
    Math.random()*n)+min;
      }

      function 
    plusMinus(n) {
        return (
    parseInt(rnd(2),10)===1?n*-1:n);
      }

      
    this.randomizeWind = function() {
        
    vRndX plusMinus(rnd(s.vMaxX,0.2));
        
    vRndY rnd(s.vMaxY,0.2);
        if (
    this.flakes) {
          for (var 
    i=0i<this.flakes.lengthi++) {
            if (
    this.flakes[i].active) {
              
    this.flakes[i].setVelocities();
            }
          }
        }
      };

      
    this.scrollHandler = function() {
        
    // "attach" snowflakes to bottom of window if no absolute bottom value was given
        
    scrollY = (s.flakeBottom?0:parseInt(window.scrollY||document.documentElement.scrollTop||document.body.scrollTop,10));
        if (
    isNaN(scrollY)) {
          
    scrollY 0// Netscape 6 scroll fix
        
    }
        if (!
    fixedForEverything && !s.flakeBottom && s.flakes) {
          for (var 
    i=s.flakes.lengthi--;) {
            if (
    s.flakes[i].active === 0) {
              
    s.flakes[i].stick();
            }
          }
        }
      };

      
    this.resizeHandler = function() {
        if (
    window.innerWidth || window.innerHeight) {
          
    screenX window.innerWidth-(!isIE?16:2)-s.flakeRightOffset;
          
    screenY = (s.flakeBottom?s.flakeBottom:window.innerHeight);
        } else {
          
    screenX = (document.documentElement.clientWidth||document.body.clientWidth||document.body.scrollWidth)-(!isIE?8:0)-s.flakeRightOffset;
          
    screenY s.flakeBottom?s.flakeBottom:(document.documentElement.clientHeight||document.body.clientHeight||document.body.scrollHeight);
        }
        
    screenX2 parseInt(screenX/2,10);
      };

      
    this.resizeHandlerAlt = function() {
        
    screenX s.targetElement.offsetLeft+s.targetElement.offsetWidth-s.flakeRightOffset;
        
    screenY s.flakeBottom?s.flakeBottom:s.targetElement.offsetTop+s.targetElement.offsetHeight;
        
    screenX2 parseInt(screenX/2,10);
      };

      
    this.freeze = function() {
        
    // pause animation
        
    if (!s.disabled) {
          
    s.disabled 1;
        } else {
          return 
    false;
        }
        for (var 
    i=s.timers.lengthi--;) {
          
    clearInterval(s.timers[i]);
        }
      };

      
    this.resume = function() {
        if (
    s.disabled) {
           
    s.disabled 0;
        } else {
          return 
    false;
        }
        
    s.timerInit();
      };

      
    this.toggleSnow = function() {
        if (!
    s.flakes.length) {
          
    // first run
          
    s.start();
        } else {
          
    s.active = !s.active;
          if (
    s.active) {
            
    s.show();
            
    s.resume();
          } else {
            
    s.stop();
            
    s.freeze();
          }
        }
      };

      
    this.stop = function() {
        
    this.freeze();
        for (var 
    i=this.flakes.lengthi--;) {
          
    this.flakes[i].o.style.display 'none';
        }
        
    s.events.remove(window,'scroll',s.scrollHandler);
        
    s.events.remove(window,'resize',s.resizeHandler);
        if (
    s.freezeOnBlur) {
          if (
    isIE) {
            
    s.events.remove(document,'focusout',s.freeze);
            
    s.events.remove(document,'focusin',s.resume);
          } else {
            
    s.events.remove(window,'blur',s.freeze);
            
    s.events.remove(window,'focus',s.resume);
          }
        }
      };

      
    this.show = function() {
        for (var 
    i=this.flakes.lengthi--;) {
          
    this.flakes[i].o.style.display 'block';
        }
      };

      
    this.SnowFlake = function(parent,type,x,y) {
        var 
    thisstorm parent;
        
    this.type type;
        
    this.x||parseInt(rnd(screenX-20),10);
        
    this.= (!isNaN(y)?y:-rnd(screenY)-12);
        
    this.vX null;
        
    this.vY null;
        
    this.vAmpTypes = [1,1.2,1.4,1.6,1.8]; // "amplification" for vX/vY (based on flake size/type)
        
    this.vAmp this.vAmpTypes[this.type];
        
    this.melting false;
        
    this.meltFrameCount storm.meltFrameCount;
        
    this.meltFrames storm.meltFrames;
        
    this.meltFrame 0;
        
    this.twinkleFrame 0;
        
    this.active 1;
        
    this.fontSize = (10+(this.type/5)*10);
        
    this.document.createElement('div');
        
    this.o.innerHTML storm.snowCharacter;
        
    this.o.style.color storm.snowColor;
        
    this.o.style.position = (fixedForEverything?'fixed':'absolute');
        
    this.o.style.width storm.flakeWidth+'px';
        
    this.o.style.height storm.flakeHeight+'px';
        
    this.o.style.fontFamily 'arial,verdana';
        
    this.o.style.overflow 'hidden';
        
    this.o.style.fontWeight 'normal';
        
    this.o.style.zIndex storm.zIndex;
        
    docFrag.appendChild(this.o);

        
    this.refresh = function() {
          if (
    isNaN(s.x) || isNaN(s.y)) {
            
    // safety check
            
    return false;
          }
          
    s.o.style.left s.x+'px';
          
    s.o.style.top s.y+'px';
        };

        
    this.stick = function() {
          if (
    noFixed || (storm.targetElement !== document.documentElement && storm.targetElement !== document.body)) {
            
    s.o.style.top = (screenY+scrollY-storm.flakeHeight)+'px';
          } else if (
    storm.flakeBottom) {
            
    s.o.style.top storm.flakeBottom+'px';
          } else {
            
    s.o.style.display 'none';
            
    s.o.style.top 'auto';
            
    s.o.style.bottom '0px';
            
    s.o.style.position 'fixed';
            
    s.o.style.display 'block';
          }
        };

        
    this.vCheck = function() {
          if (
    s.vX>=&& s.vX<0.2) {
            
    s.vX 0.2;
          } else if (
    s.vX<&& s.vX>-0.2) {
            
    s.vX = -0.2;
          }
          if (
    s.vY>=&& s.vY<0.2) {
            
    s.vY 0.2;
          }
        };

        
    this.move = function() {
          var 
    vX s.vX*windOffsetyDiff;
          
    s.+= vX;
          
    s.+= (s.vY*s.vAmp);
          if (
    s.>= screenX || screenX-s.storm.flakeWidth) { // X-axis scroll check
            
    s.0;
          } else if (
    vX && s.x-storm.flakeLeftOffset 0-storm.flakeWidth) {
            
    s.screenX-storm.flakeWidth-1// flakeWidth;
          
    }
          
    s.refresh();
          
    yDiff screenY+scrollY-s.y;
          if (
    yDiff<storm.flakeHeight) {
            
    s.active 0;
            if (
    storm.snowStick) {
              
    s.stick();
            } else {
              
    s.recycle();
            }
          } else {
            if (
    storm.useMeltEffect && s.active && s.type && !s.melting && Math.random()>0.998) {
              
    // ~1/1000 chance of melting mid-air, with each frame
              
    s.melting true;
              
    s.melt();
              
    // only incrementally melt one frame
              // s.melting = false;
            
    }
            if (
    storm.useTwinkleEffect) {
              if (!
    s.twinkleFrame) {
                if (
    Math.random()>0.9) {
                  
    s.twinkleFrame parseInt(Math.random()*20,10);
                }
              } else {
                
    s.twinkleFrame--;
                
    s.o.style.visibility = (s.twinkleFrame && s.twinkleFrame%2===0?'hidden':'visible');
              }
            }
          }
        };

        
    this.animate = function() {
          
    // main animation loop
          // move, check status, die etc.
          
    s.move();
        };

        
    this.setVelocities = function() {
          
    s.vX vRndX+rnd(storm.vMaxX*0.12,0.1);
          
    s.vY vRndY+rnd(storm.vMaxY*0.12,0.1);
        };

        
    this.setOpacity = function(o,opacity) {
          if (!
    opacitySupported) {
            return 
    false;
          }
          
    o.style.opacity opacity;
        };

        
    this.melt = function() {
          if (!
    storm.useMeltEffect || !s.melting) {
            
    s.recycle();
          } else {
            if (
    s.meltFrame s.meltFrameCount) {
              
    s.meltFrame++;
              
    s.setOpacity(s.o,s.meltFrames[s.meltFrame]);
              
    s.o.style.fontSize s.fontSize-(s.fontSize*(s.meltFrame/s.meltFrameCount))+'px';
              
    s.o.style.lineHeight storm.flakeHeight+2+(storm.flakeHeight*0.75*(s.meltFrame/s.meltFrameCount))+'px';
            } else {
              
    s.recycle();
            }
          }
        };

        
    this.recycle = function() {
          
    s.o.style.display 'none';
          
    s.o.style.position = (fixedForEverything?'fixed':'absolute');
          
    s.o.style.bottom 'auto';
          
    s.setVelocities();
          
    s.vCheck();
          
    s.meltFrame 0;
          
    s.melting false;
          
    s.setOpacity(s.o,1);
          
    s.o.style.padding '0px';
          
    s.o.style.margin '0px';
          
    s.o.style.fontSize s.fontSize+'px';
          
    s.o.style.lineHeight = (storm.flakeHeight+2)+'px';
          
    s.o.style.textAlign 'center';
          
    s.o.style.verticalAlign 'baseline';
          
    s.parseInt(rnd(screenX-storm.flakeWidth-20),10);
          
    s.parseInt(rnd(screenY)*-1,10)-storm.flakeHeight;
          
    s.refresh();
          
    s.o.style.display 'block';
          
    s.active 1;
        };

        
    this.recycle(); // set up x/y coords etc.
        
    this.refresh();

      };

      
    this.snow = function() {
        var 
    active 0used 0waiting 0flake nulli;
        for (
    i=s.flakes.lengthi--;) {
          if (
    s.flakes[i].active === 1) {
            
    s.flakes[i].move();
            
    active++;
          } else if (
    s.flakes[i].active === 0) {
            
    used++;
          } else {
            
    waiting++;
          }
          if (
    s.flakes[i].melting) {
            
    s.flakes[i].melt();
          }
        }
        if (
    active<s.flakesMaxActive) {
          
    flake s.flakes[parseInt(rnd(s.flakes.length),10)];
          if (
    flake.active === 0) {
            
    flake.melting true;
          }
        }
      };

      
    this.mouseMove = function(e) {
        if (!
    s.followMouse) {
          return 
    true;
        }
        var 
    parseInt(e.clientX,10);
        if (
    x<screenX2) {
          
    windOffset = -windMultiplier+(x/screenX2*windMultiplier);
        } else {
          
    -= screenX2;
          
    windOffset = (x/screenX2)*windMultiplier;
        }
      };

      
    this.createSnow = function(limit,allowInactive) {
        for (var 
    i=0i<limiti++) {
          
    s.flakes[s.flakes.length] = new s.SnowFlake(s,parseInt(rnd(flakeTypes),10));
          if (
    allowInactive || i>s.flakesMaxActive) {
            
    s.flakes[s.flakes.length-1].active = -1;
          }
        }
        
    storm.targetElement.appendChild(docFrag);
      };

      
    this.timerInit = function() {
        
    s.timers = (!isWin98?[setInterval(s.snow,s.animationInterval)]:[setInterval(s.snow,s.animationInterval*3),setInterval(s.snow,s.animationInterval)]);
      };

      
    this.init = function() {
        for (var 
    i=0i<s.meltFrameCounti++) {
          
    s.meltFrames.push(1-(i/s.meltFrameCount));
        }
        
    s.randomizeWind();
        
    s.createSnow(s.flakesMax); // create initial batch
        
    s.events.add(window,'resize',s.resizeHandler);
        
    s.events.add(window,'scroll',s.scrollHandler);
        if (
    s.freezeOnBlur) {
          if (
    isIE) {
            
    s.events.add(document,'focusout',s.freeze);
            
    s.events.add(document,'focusin',s.resume);
          } else {
            
    s.events.add(window,'blur',s.freeze);
            
    s.events.add(window,'focus',s.resume);
          }
        }
        
    s.resizeHandler();
        
    s.scrollHandler();
        if (
    s.followMouse) {
          
    s.events.add(isIE?document:window,'mousemove',s.mouseMove);
        }
        
    s.animationInterval Math.max(20,s.animationInterval);
        
    s.timerInit();
      };

      
    this.start = function(bFromOnLoad) {
        if (!
    didInit) {
          
    didInit true;
        } else if (
    bFromOnLoad) {
          
    // already loaded and running
          
    return true;
        }
        if (
    typeof s.targetElement === 'string') {
          var 
    targetID s.targetElement;
          
    s.targetElement document.getElementById(targetID);
          if (!
    s.targetElement) {
            throw new 
    Error('Snowstorm: Unable to get targetElement "'+targetID+'"');
          }
        }
        if (!
    s.targetElement) {
          
    s.targetElement = (!isIE?(document.documentElement?document.documentElement:document.body):document.body);
        }
        if (
    s.targetElement !== document.documentElement && s.targetElement !== document.body) {
          
    s.resizeHandler s.resizeHandlerAlt// re-map handler to get element instead of screen dimensions
        
    }
        
    s.resizeHandler(); // get bounding box elements
        
    s.usePositionFixed = (s.usePositionFixed && !noFixed); // whether or not position:fixed is supported
        
    fixedForEverything s.usePositionFixed;
        if (
    screenX && screenY && !s.disabled) {
          
    s.init();
          
    s.active true;
        }
      };

      function 
    doStart() {
        if ((
    this.excludeMobile && !isMobile) || !this.excludeMobile) {
          
    window.setTimeout(function() {
            
    s.start(true);
          }, 
    20);
        }
        
    // event cleanup
        
    s.events.remove(window'load'doStart);
      }

      
    // hooks for starting the snow
      
    s.events.add(window'load'doStartfalse);

      return 
    this;

    }(
    windowdocument)); 
    Just replace this with the current one vista released :P

  18. #18
    Im Back! PythoneX12 is offline
    Grand MasterRank
    Sep 2010 Join Date
    634Posts

    Re: [All Cms] Snow effect For Any Cms

    Thanks for sharing matey.

  19. #19
    Elite Member HabboDude is offline
    Member +Rank
    Sep 2010 Join Date
    193Posts

    Re: [All Cms] Snow effect For Any Cms

    What do you mean header of cms?

  20. #20
    sexiess is a sin. Subway is offline
    Grand MasterRank
    Jun 2010 Join Date
    2,491Posts

    Re: [All Cms] Snow effect For Any Cms

    like add it to the very top of any page you want it to snow on ;D

  21. #21
    Elite Member HabboDude is offline
    Member +Rank
    Sep 2010 Join Date
    193Posts

    Re: [All Cms] Snow effect For Any Cms

    It doesn't seem to work for me :l I kinda dont get it
    Im using PHPRetro

  22. #22
    Newbie XSnake1996 is offline
    MemberRank
    Jul 2010 Join Date
    23Posts

    Re: [All Cms] Snow effect For Any Cms

    Quote Originally Posted by vistadosentwork View Post
    Actually most of them use an image (.GIF ) and wont randomly generate different sizes, yes I found this script online but the Random position didn't work and the random size didn't work as well as the size it was originally 1000px by 1000px now it fills the screen.
    but always work out that way(load img{.gif cuz is low res and size} and create a random position...still a simple script!.

  23. #23
    Sorcerer Supreme vistadosentwork is offline
    Member +Rank
    Mar 2008 Join Date
    http://habhotelLocation
    374Posts

    Re: [All Cms] Snow effect For Any Cms

    Yes but wouldn't that Eat Your Bandwidth if your using a webhost?

  24. #24
    No, Just no. Matthew is online now
    Grand MasterRank
    Jul 2008 Join Date
    United KingdomLocation
    1,408Posts

    Re: [All Cms] Snow effect For Any Cms

    Please do give credits and not comment code that you didn't make

    Dynamic Drive DHTML Script- Snow Effect without images

  25. #25

    me ridez bykes

    Sean is offline

    LegendRank
    Jun 2007 Join Date
    JerseyLocation
    4,096Posts

    Re: [All Cms] Snow effect For Any Cms

    Good release vistadoesntwork. But, too me..the snow slows down the site.

    ~Sean



Page 1 of 2 12 LastLast

Advertisement