Advertisement
Guest User

Untitled

a guest
Dec 9th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.72 KB | None | 0 0
  1. function initialize(){var t=document.body.querySelectorAll(".index.chat-room-messages-index")[0];createCanvasOverlay("rgba(0,0,0,0)",t);var i=new SnowFall(myCanvas);i.initialize()}function createCanvasOverlay(t,i){myCanvas||(i?superContainer=i:(i=document.createElement("div"),document.body.appendChild(i),i.style.position="absolute",i.style.left="0px",i.style.top="0px",i.style.width="100%",i.style.height="100%",i.style.zIndex="100",superContainer=document.body),myCanvas=document.createElement("canvas"),myCanvas.style.width=superContainer.scrollWidth+"px",myCanvas.style.height=superContainer.scrollHeight+"px",myCanvas.width=superContainer.scrollWidth,myCanvas.height=superContainer.scrollHeight,myCanvas.style.overflow="visible",myCanvas.style.position="absolute",i.insertBefore(myCanvas,i.firstChild))}var myCanvas,main,start=setTimeout(initialize,1e4);Date.now||(Date.now=function(){return(new Date).getTime()}),function(){"use strict";for(var t=["webkit","moz"],i=0;i<t.length&&!window.requestAnimationFrame;++i){var e=t[i];window.requestAnimationFrame=window[e+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e+"CancelAnimationFrame"]||window[e+"CancelRequestAnimationFrame"]}if(/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)||!window.requestAnimationFrame||!window.cancelAnimationFrame){var n=0;window.requestAnimationFrame=function(t){var i=Date.now(),e=Math.max(n+16,i);return setTimeout(function(){t(n=e)},e-i)},window.cancelAnimationFrame=clearTimeout}}();var SnowFlake=function(t,i,e,n,s,a,o){this.x=t,this.y=i,this.r=5,this.color=e,this.size=n,this.speed=s,this.drift=a,this.step=0,this.stepSize=o},SnowFall=function(t){this.canvas=t,this.context=t.getContext("2d"),this.snowflakes=[],this.width=this.canvas.width,this.height=this.canvas.height,this.backgroundColor="rgba(0,0,0,1)",this.snowTimeout=0,this.windTimeout=0,this.widthOffset=2*-this.height,this.windStrength=0,this.targetWindStrength=0,this.defaults={flakeCount:200,flakeColor:"#ffffff",flakeDepth:999999,minSize:1,maxSize:2,minSpeed:1,maxSpeed:5,maxWind:30}};SnowFall.prototype={initialize:function(t){for(i=0;i<this.defaults.flakeCount;i+=1){var e=this.random(this.widthOffset,this.width-this.widthOffset),n=0,s=this.defaults.flakeColor,a=this.random(100*this.defaults.minSize,100*this.defaults.maxSize)/100,o=this.random(this.defaults.minSpeed,this.defaults.maxSpeed),h=Math.random()-.5,r=this.random(2,6)/100;this.snowflakes.push(new SnowFlake(e,n,s,a,o,h,r))}this.update(),this.updateWind()},update:function(){for(var t in this.snowflakes){var i=this.snowflakes[t];i.y+=i.speed,i.y>this.height-(i.size+6)&&this.reset(i);var e=this.targetWindStrength-this.windStrength,n=Math.sign(e);this.windStrength+=n*Math.log(1+e*n)/1e5,i.step+=i.stepSize,i.x+=Math.cos(i.step)+i.drift+this.windStrength,(i.x+i.size>this.width-this.widthOffset||i.x<this.widthOffset)&&this.reset(i)}var s=this;this.snowTimeout=requestAnimationFrame(function(){s.update(),s.render()})},updateWind:function(){this.targetWindStrength=this.random(0,2*this.defaults.maxWind)-this.defaults.maxWind;var t=this,i=1e3*this.random(2,6);this.windTimeout=setTimeout(function(){t.updateWind()},i)},render:function(){this.context.fillStyle=this.backgroundColor,this.context.fillRect(0,0,myCanvas.width,myCanvas.height);for(var t in this.snowflakes){var i=this.snowflakes[t];this.context.fillStyle=i.color,this.context.beginPath(),this.context.arc(i.x,i.y,i.size,0,2*Math.PI,!1),this.context.closePath(),this.context.fill()}},random:function(t,i){return Math.round(t+Math.random()*(i-t))},reset:function(t){t.y=0,t.x=this.random(this.widthOffset,this.width-this.widthOffset),t.stepSize=this.random(1,10)/100,t.size=this.random(100*this.defaults.minSize,100*this.defaults.maxSize)/100,t.speed=this.random(this.defaults.minSpeed,this.defaults.maxSpeed)}};
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement