Download Source Code Aplikasi

Membuat Efek Salju di Blog menggunakan HTML

Monday, January 9th, 2017 - Aplikasi Html, Tutorial Html

Sobat source code aplikasi, ternyata membuat efek salju atau musim salju dan memunculkannya di blog atau web kita itu ternyata mudah. Pada kesempatan ini, kami akan berbagi sedikit tips, membuat efek saljua menggunakan html dan javascript. Efek yang dihasilkan yaitu salju yang turun dan dapat bergerak mengikuti arah mouse. Aplikasi ini sangat cocok bagi anda yang menyukai tantangan dan mengotak atik coding aplikasi. Meskipun sederhana namun menarik untuk dipelajari.

Membuat Efek Salju di Blog menggunakan HTML

Silahkan anda edit dan kembangkan lagi menjadi lebih baik lagi efek salju menggunakan html dan javascript ini. Berikut ini adalah contoh source codeya :


<!DOCTYPE html>
<html>
<head>
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%20type%3D%22text%2Fjavascript%22%3E%0A%0Avar%20snowStorm%20%3D%20(function(window%2C%20document)%20%7B%0A%0A%20%20%2F%2F%20---%20common%20properties%20---%0A%0A%20%20this.autoStart%20%3D%20true%3B%20%20%20%20%20%20%20%20%20%20%2F%2F%20Whether%20the%20snow%20should%20start%20automatically%20or%20not.%0A%20%20this.excludeMobile%20%3D%20true%3B%20%20%20%20%20%20%2F%2F%20Snow%20is%20likely%20to%20be%20bad%20news%20for%20mobile%20phones'%20CPUs%20(and%20batteries.)%20Enable%20at%20your%20own%20risk.%0A%20%20this.flakesMax%20%3D%20128%3B%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Limit%20total%20amount%20of%20snow%20made%20(falling%20%2B%20sticking)%0A%20%20this.flakesMaxActive%20%3D%2064%3B%20%20%20%20%20%20%2F%2F%20Limit%20amount%20of%20snow%20falling%20at%20once%20(less%20%3D%20lower%20CPU%20use)%0A%20%20this.animationInterval%20%3D%2033%3B%20%20%20%20%2F%2F%20Theoretical%20%22miliseconds%20per%20frame%22%20measurement.%2020%20%3D%20fast%20%2B%20smooth%2C%20but%20high%20CPU%20use.%2050%20%3D%20more%20conservative%2C%20but%20slower%0A%20%20this.useGPU%20%3D%20true%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Enable%20transform-based%20hardware%20acceleration%2C%20reduce%20CPU%20load.%0A%20%20this.className%20%3D%20null%3B%20%20%20%20%20%20%20%20%20%20%2F%2F%20CSS%20class%20name%20for%20further%20customization%20on%20snow%20elements%0A%20%20this.excludeMobile%20%3D%20true%3B%20%20%20%20%20%20%2F%2F%20Snow%20is%20likely%20to%20be%20bad%20news%20for%20mobile%20phones'%20CPUs%20(and%20batteries.)%20By%20default%2C%20be%20nice.%0A%20%20this.flakeBottom%20%3D%20null%3B%20%20%20%20%20%20%20%20%2F%2F%20Integer%20for%20Y%20axis%20snow%20limit%2C%200%20or%20null%20for%20%22full-screen%22%20snow%20effect%0A%20%20this.followMouse%20%3D%20true%3B%20%20%20%20%20%20%20%20%2F%2F%20Snow%20movement%20can%20respond%20to%20the%20user's%20mouse%0A%20%20this.snowColor%20%3D%20'%23fff'%3B%20%20%20%20%20%20%20%20%2F%2F%20Don't%20eat%20(or%20use%3F)%20yellow%20snow.%0A%20%20this.snowCharacter%20%3D%20'%26bull%3B'%3B%20%20%2F%2F%20%26bull%3B%20%3D%20bullet%2C%20%26middot%3B%20is%20square%20on%20some%20systems%20etc.%0A%20%20this.snowStick%20%3D%20true%3B%20%20%20%20%20%20%20%20%20%20%2F%2F%20Whether%20or%20not%20snow%20should%20%22stick%22%20at%20the%20bottom.%20When%20off%2C%20will%20never%20collect.%0A%20%20this.targetElement%20%3D%20null%3B%20%20%20%20%20%20%2F%2F%20element%20which%20snow%20will%20be%20appended%20to%20(null%20%3D%20document.body)%20-%20can%20be%20an%20element%20ID%20eg.%20'myDiv'%2C%20or%20a%20DOM%20node%20reference%0A%20%20this.useMeltEffect%20%3D%20true%3B%20%20%20%20%20%20%2F%2F%20When%20recycling%20fallen%20snow%20(or%20rarely%2C%20when%20falling)%2C%20have%20it%20%22melt%22%20and%20fade%20out%20if%20browser%20supports%20it%0A%20%20this.useTwinkleEffect%20%3D%20false%3B%20%20%2F%2F%20Allow%20snow%20to%20randomly%20%22flicker%22%20in%20and%20out%20of%20view%20while%20falling%0A%20%20this.usePositionFixed%20%3D%20false%3B%20%20%2F%2F%20true%20%3D%20snow%20does%20not%20shift%20vertically%20when%20scrolling.%20May%20increase%20CPU%20load%2C%20disabled%20by%20default%20-%20if%20enabled%2C%20used%20only%20where%20supported%0A%20%20this.usePixelPosition%20%3D%20false%3B%20%20%2F%2F%20Whether%20to%20use%20pixel%20values%20for%20snow%20top%2Fleft%20vs.%20percentages.%20Auto-enabled%20if%20body%20is%20position%3Arelative%20or%20targetElement%20is%20specified.%0A%0A%20%20%2F%2F%20---%20less-used%20bits%20---%0A%0A%20%20this.freezeOnBlur%20%3D%20true%3B%20%20%20%20%20%20%20%2F%2F%20Only%20snow%20when%20the%20window%20is%20in%20focus%20(foreground.)%20Saves%20CPU.%0A%20%20this.flakeLeftOffset%20%3D%200%3B%20%20%20%20%20%20%20%2F%2F%20Left%20margin%2Fgutter%20space%20on%20edge%20of%20container%20(eg.%20browser%20window.)%20Bump%20up%20these%20values%20if%20seeing%20horizontal%20scrollbars.%0A%20%20this.flakeRightOffset%20%3D%200%3B%20%20%20%20%20%20%2F%2F%20Right%20margin%2Fgutter%20space%20on%20edge%20of%20container%0A%20%20this.flakeWidth%20%3D%208%3B%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Max%20pixel%20width%20reserved%20for%20snow%20element%0A%20%20this.flakeHeight%20%3D%208%3B%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Max%20pixel%20height%20reserved%20for%20snow%20element%0A%20%20this.vMaxX%20%3D%205%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Maximum%20X%20velocity%20range%20for%20snow%0A%20%20this.vMaxY%20%3D%204%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Maximum%20Y%20velocity%20range%20for%20snow%0A%20%20this.zIndex%20%3D%200%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20CSS%20stacking%20order%20applied%20to%20each%20snowflake%0A%0A%20%20%2F%2F%20---%20%22No%20user-serviceable%20parts%20inside%22%20past%20this%20point%2C%20yadda%20yadda%20---%0A%0A%20%20var%20storm%20%3D%20this%2C%0A%20%20features%2C%0A%20%20%2F%2F%20UA%20sniffing%20and%20backCompat%20rendering%20mode%20checks%20for%20fixed%20position%2C%20etc.%0A%20%20isIE%20%3D%20navigator.userAgent.match(%2Fmsie%2Fi)%2C%0A%20%20isIE6%20%3D%20navigator.userAgent.match(%2Fmsie%206%2Fi)%2C%0A%20%20isMobile%20%3D%20navigator.userAgent.match(%2Fmobile%7Copera%20m(ob%7Cin)%2Fi)%2C%0A%20%20isBackCompatIE%20%3D%20(isIE%20%26%26%20document.compatMode%20%3D%3D%3D%20'BackCompat')%2C%0A%20%20noFixed%20%3D%20(isBackCompatIE%20%7C%7C%20isIE6)%2C%0A%20%20screenX%20%3D%20null%2C%20screenX2%20%3D%20null%2C%20screenY%20%3D%20null%2C%20scrollY%20%3D%20null%2C%20docHeight%20%3D%20null%2C%20vRndX%20%3D%20null%2C%20vRndY%20%3D%20null%2C%0A%20%20windOffset%20%3D%201%2C%0A%20%20windMultiplier%20%3D%202%2C%0A%20%20flakeTypes%20%3D%206%2C%0A%20%20fixedForEverything%20%3D%20false%2C%0A%20%20targetElementIsRelative%20%3D%20false%2C%0A%20%20opacitySupported%20%3D%20(function()%7B%0A%20%20%20%20try%20%7B%0A%20%20%20%20%20%20document.createElement('div').style.opacity%20%3D%20'0.5'%3B%0A%20%20%20%20%7D%20catch(e)%20%7B%0A%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%7D%0A%20%20%20%20return%20true%3B%0A%20%20%7D())%2C%0A%20%20didInit%20%3D%20false%2C%0A%20%20docFrag%20%3D%20document.createDocumentFragment()%3B%0A%0A%20%20features%20%3D%20(function()%20%7B%0A%0A%20%20%20%20var%20getAnimationFrame%3B%0A%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20hat%20tip%3A%20paul%20irish%0A%20%20%20%20%20*%20http%3A%2F%2Fpaulirish.com%2F2011%2Frequestanimationframe-for-smart-animating%2F%0A%20%20%20%20%20*%20https%3A%2F%2Fgist.github.com%2F838785%0A%20%20%20%20%20*%2F%0A%0A%20%20%20%20function%20timeoutShim(callback)%20%7B%0A%20%20%20%20%20%20window.setTimeout(callback%2C%201000%2F(storm.animationInterval%20%7C%7C%2020))%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20var%20_animationFrame%20%3D%20(window.requestAnimationFrame%20%7C%7C%0A%20%20%20%20%20%20%20%20window.webkitRequestAnimationFrame%20%7C%7C%0A%20%20%20%20%20%20%20%20window.mozRequestAnimationFrame%20%7C%7C%0A%20%20%20%20%20%20%20%20window.oRequestAnimationFrame%20%7C%7C%0A%20%20%20%20%20%20%20%20window.msRequestAnimationFrame%20%7C%7C%0A%20%20%20%20%20%20%20%20timeoutShim)%3B%0A%0A%20%20%20%20%2F%2F%20apply%20to%20window%2C%20avoid%20%22illegal%20invocation%22%20errors%20in%20Chrome%0A%20%20%20%20getAnimationFrame%20%3D%20_animationFrame%20%3F%20function()%20%7B%0A%20%20%20%20%20%20return%20_animationFrame.apply(window%2C%20arguments)%3B%0A%20%20%20%20%7D%20%3A%20null%3B%0A%0A%20%20%20%20var%20testDiv%3B%0A%0A%20%20%20%20testDiv%20%3D%20document.createElement('div')%3B%0A%0A%20%20%20%20function%20has(prop)%20%7B%0A%0A%20%20%20%20%20%20%2F%2F%20test%20for%20feature%20support%0A%20%20%20%20%20%20var%20result%20%3D%20testDiv.style%5Bprop%5D%3B%0A%20%20%20%20%20%20return%20(result%20!%3D%3D%20undefined%20%3F%20prop%20%3A%20null)%3B%0A%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20note%20local%20scope.%0A%20%20%20%20var%20localFeatures%20%3D%20%7B%0A%0A%20%20%20%20%20%20transform%3A%20%7B%0A%20%20%20%20%20%20%20%20ie%3A%20%20has('-ms-transform')%2C%0A%20%20%20%20%20%20%20%20moz%3A%20has('MozTransform')%2C%0A%20%20%20%20%20%20%20%20opera%3A%20has('OTransform')%2C%0A%20%20%20%20%20%20%20%20webkit%3A%20has('webkitTransform')%2C%0A%20%20%20%20%20%20%20%20w3%3A%20has('transform')%2C%0A%20%20%20%20%20%20%20%20prop%3A%20null%20%2F%2F%20the%20normalized%20property%20value%0A%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20getAnimationFrame%3A%20getAnimationFrame%0A%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20localFeatures.transform.prop%20%3D%20(%0A%20%20%20%20%20%20localFeatures.transform.w3%20%7C%7C%20%0A%20%20%20%20%20%20localFeatures.transform.moz%20%7C%7C%0A%20%20%20%20%20%20localFeatures.transform.webkit%20%7C%7C%0A%20%20%20%20%20%20localFeatures.transform.ie%20%7C%7C%0A%20%20%20%20%20%20localFeatures.transform.opera%0A%20%20%20%20)%3B%0A%0A%20%20%20%20testDiv%20%3D%20null%3B%0A%0A%20%20%20%20return%20localFeatures%3B%0A%0A%20%20%7D())%3B%0A%0A%20%20this.timer%20%3D%20null%3B%0A%20%20this.flakes%20%3D%20%5B%5D%3B%0A%20%20this.disabled%20%3D%20false%3B%0A%20%20this.active%20%3D%20false%3B%0A%20%20this.meltFrameCount%20%3D%2020%3B%0A%20%20this.meltFrames%20%3D%20%5B%5D%3B%0A%0A%20%20this.setXY%20%3D%20function(o%2C%20x%2C%20y)%20%7B%0A%0A%20%20%20%20if%20(!o)%20%7B%0A%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20if%20(storm.usePixelPosition%20%7C%7C%20targetElementIsRelative)%20%7B%0A%0A%20%20%20%20%20%20o.style.left%20%3D%20(x%20-%20storm.flakeWidth)%20%2B%20'px'%3B%0A%20%20%20%20%20%20o.style.top%20%3D%20(y%20-%20storm.flakeHeight)%20%2B%20'px'%3B%0A%0A%20%20%20%20%7D%20else%20if%20(noFixed)%20%7B%0A%0A%20%20%20%20%20%20o.style.right%20%3D%20(100-(x%2FscreenX*100))%20%2B%20'%25'%3B%0A%20%20%20%20%20%20%2F%2F%20avoid%20creating%20vertical%20scrollbars%0A%20%20%20%20%20%20o.style.top%20%3D%20(Math.min(y%2C%20docHeight-storm.flakeHeight))%20%2B%20'px'%3B%0A%0A%20%20%20%20%7D%20else%20%7B%0A%0A%20%20%20%20%20%20if%20(!storm.flakeBottom)%20%7B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20if%20not%20using%20a%20fixed%20bottom%20coordinate...%0A%20%20%20%20%20%20%20%20o.style.right%20%3D%20(100-(x%2FscreenX*100))%20%2B%20'%25'%3B%0A%20%20%20%20%20%20%20%20o.style.bottom%20%3D%20(100-(y%2FscreenY*100))%20%2B%20'%25'%3B%0A%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20absolute%20top.%0A%20%20%20%20%20%20%20%20o.style.right%20%3D%20(100-(x%2FscreenX*100))%20%2B%20'%25'%3B%0A%20%20%20%20%20%20%20%20o.style.top%20%3D%20(Math.min(y%2C%20docHeight-storm.flakeHeight))%20%2B%20'px'%3B%0A%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%7D%0A%0A%20%20%7D%3B%0A%0A%20%20this.events%20%3D%20(function()%20%7B%0A%0A%20%20%20%20var%20old%20%3D%20(!window.addEventListener%20%26%26%20window.attachEvent)%2C%20slice%20%3D%20Array.prototype.slice%2C%0A%20%20%20%20evt%20%3D%20%7B%0A%20%20%20%20%20%20add%3A%20(old%3F'attachEvent'%3A'addEventListener')%2C%0A%20%20%20%20%20%20remove%3A%20(old%3F'detachEvent'%3A'removeEventListener')%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20function%20getArgs(oArgs)%20%7B%0A%20%20%20%20%20%20var%20args%20%3D%20slice.call(oArgs)%2C%20len%20%3D%20args.length%3B%0A%20%20%20%20%20%20if%20(old)%20%7B%0A%20%20%20%20%20%20%20%20args%5B1%5D%20%3D%20'on'%20%2B%20args%5B1%5D%3B%20%2F%2F%20prefix%0A%20%20%20%20%20%20%20%20if%20(len%20%3E%203)%20%7B%0A%20%20%20%20%20%20%20%20%20%20args.pop()%3B%20%2F%2F%20no%20capture%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%20else%20if%20(len%20%3D%3D%3D%203)%20%7B%0A%20%20%20%20%20%20%20%20args.push(false)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%20args%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20apply(args%2C%20sType)%20%7B%0A%20%20%20%20%20%20var%20element%20%3D%20args.shift()%2C%0A%20%20%20%20%20%20%20%20%20%20method%20%3D%20%5Bevt%5BsType%5D%5D%3B%0A%20%20%20%20%20%20if%20(old)%20%7B%0A%20%20%20%20%20%20%20%20element%5Bmethod%5D(args%5B0%5D%2C%20args%5B1%5D)%3B%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20element%5Bmethod%5D.apply(element%2C%20args)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20addEvent()%20%7B%0A%20%20%20%20%20%20apply(getArgs(arguments)%2C%20'add')%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20removeEvent()%20%7B%0A%20%20%20%20%20%20apply(getArgs(arguments)%2C%20'remove')%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20return%20%7B%0A%20%20%20%20%20%20add%3A%20addEvent%2C%0A%20%20%20%20%20%20remove%3A%20removeEvent%0A%20%20%20%20%7D%3B%0A%0A%20%20%7D())%3B%0A%0A%20%20function%20rnd(n%2Cmin)%20%7B%0A%20%20%20%20if%20(isNaN(min))%20%7B%0A%20%20%20%20%20%20min%20%3D%200%3B%0A%20%20%20%20%7D%0A%20%20%20%20return%20(Math.random()*n)%2Bmin%3B%0A%20%20%7D%0A%0A%20%20function%20plusMinus(n)%20%7B%0A%20%20%20%20return%20(parseInt(rnd(2)%2C10)%3D%3D%3D1%3Fn*-1%3An)%3B%0A%20%20%7D%0A%0A%20%20this.randomizeWind%20%3D%20function()%20%7B%0A%20%20%20%20var%20i%3B%0A%20%20%20%20vRndX%20%3D%20plusMinus(rnd(storm.vMaxX%2C0.2))%3B%0A%20%20%20%20vRndY%20%3D%20rnd(storm.vMaxY%2C0.2)%3B%0A%20%20%20%20if%20(this.flakes)%20%7B%0A%20%20%20%20%20%20for%20(i%3D0%3B%20i%3Cthis.flakes.length%3B%20i%2B%2B)%20%7B%0A%3Cp%3E%20%20%20%20%20%20%20%20if%20(this.flakes%5Bi%5D.active)%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.flakes%5Bi%5D.setVelocities()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%3B%0A%0A%20%20this.scrollHandler%20%3D%20function()%20%7B%0A%20%20%20%20var%20i%3B%0A%20%20%20%20%2F%2F%20%22attach%22%20snowflakes%20to%20bottom%20of%20window%20if%20no%20absolute%20bottom%20value%20was%20given%0A%20%20%20%20scrollY%20%3D%20(storm.flakeBottom%20%3F%200%20%3A%20parseInt(window.scrollY%20%7C%7C%20document.documentElement.scrollTop%20%7C%7C%20(noFixed%20%3F%20document.body.scrollTop%20%3A%200)%2C%2010))%3B%0A%20%20%20%20if%20(isNaN(scrollY))%20%7B%0A%20%20%20%20%20%20scrollY%20%3D%200%3B%20%2F%2F%20Netscape%206%20scroll%20fix%0A%20%20%20%20%7D%0A%20%20%20%20if%20(!fixedForEverything%20%26%26%20!storm.flakeBottom%20%26%26%20storm.flakes)%20%7B%0A%20%20%20%20%20%20for%20(i%3D0%3B%20i%3Cstorm.flakes.length%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20%20%20if%20(storm.flakes%5Bi%5D.active%20%3D%3D%3D%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20storm.flakes%5Bi%5D.stick()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%3B%0A%0A%20%20this.resizeHandler%20%3D%20function()%20%7B%0A%20%20%20%20if%20(window.innerWidth%20%7C%7C%20window.innerHeight)%20%7B%0A%20%20%20%20%20%20screenX%20%3D%20window.innerWidth%20-%2016%20-%20storm.flakeRightOffset%3B%0A%20%20%20%20%20%20screenY%20%3D%20(storm.flakeBottom%20%7C%7C%20window.innerHeight)%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20screenX%20%3D%20(document.documentElement.clientWidth%20%7C%7C%20document.body.clientWidth%20%7C%7C%20document.body.scrollWidth)%20-%20(!isIE%20%3F%208%20%3A%200)%20-%20storm.flakeRightOffset%3B%0A%20%20%20%20%20%20screenY%20%3D%20storm.flakeBottom%20%7C%7C%20document.documentElement.clientHeight%20%7C%7C%20document.body.clientHeight%20%7C%7C%20document.body.scrollHeight%3B%0A%20%20%20%20%7D%0A%20%20%20%20docHeight%20%3D%20document.body.offsetHeight%3B%0A%20%20%20%20screenX2%20%3D%20parseInt(screenX%2F2%2C10)%3B%0A%20%20%7D%3B%0A%0A%20%20this.resizeHandlerAlt%20%3D%20function()%20%7B%0A%20%20%20%20screenX%20%3D%20storm.targetElement.offsetWidth%20-%20storm.flakeRightOffset%3B%0A%20%20%20%20screenY%20%3D%20storm.flakeBottom%20%7C%7C%20storm.targetElement.offsetHeight%3B%0A%20%20%20%20screenX2%20%3D%20parseInt(screenX%2F2%2C10)%3B%0A%20%20%20%20docHeight%20%3D%20document.body.offsetHeight%3B%0A%20%20%7D%3B%0A%0A%20%20this.freeze%20%3D%20function()%20%7B%0A%20%20%20%20%2F%2F%20pause%20animation%0A%20%20%20%20if%20(!storm.disabled)%20%7B%0A%20%20%20%20%20%20storm.disabled%20%3D%201%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%7D%0A%20%20%20%20storm.timer%20%3D%20null%3B%0A%20%20%7D%3B%0A%0A%20%20this.resume%20%3D%20function()%20%7B%0A%20%20%20%20if%20(storm.disabled)%20%7B%0A%20%20%20%20%20%20%20storm.disabled%20%3D%200%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%7D%0A%20%20%20%20storm.timerInit()%3B%0A%20%20%7D%3B%0A%0A%20%20this.toggleSnow%20%3D%20function()%20%7B%0A%20%20%20%20if%20(!storm.flakes.length)%20%7B%0A%20%20%20%20%20%20%2F%2F%20first%20run%0A%20%20%20%20%20%20storm.start()%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20storm.active%20%3D%20!storm.active%3B%0A%20%20%20%20%20%20if%20(storm.active)%20%7B%0A%20%20%20%20%20%20%20%20storm.show()%3B%0A%20%20%20%20%20%20%20%20storm.resume()%3B%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20storm.stop()%3B%0A%20%20%20%20%20%20%20%20storm.freeze()%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%3B%0A%0A%20%20this.stop%20%3D%20function()%20%7B%0A%20%20%20%20var%20i%3B%0A%20%20%20%20this.freeze()%3B%0A%20%20%20%20for%20(i%3D0%3B%20i%3Cthis.flakes.length%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20this.flakes%5Bi%5D.o.style.display%20%3D%20'none'%3B%0A%20%20%20%20%7D%0A%20%20%20%20storm.events.remove(window%2C'scroll'%2Cstorm.scrollHandler)%3B%0A%20%20%20%20storm.events.remove(window%2C'resize'%2Cstorm.resizeHandler)%3B%0A%20%20%20%20if%20(storm.freezeOnBlur)%20%7B%0A%20%20%20%20%20%20if%20(isIE)%20%7B%0A%20%20%20%20%20%20%20%20storm.events.remove(document%2C'focusout'%2Cstorm.freeze)%3B%0A%20%20%20%20%20%20%20%20storm.events.remove(document%2C'focusin'%2Cstorm.resume)%3B%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20storm.events.remove(window%2C'blur'%2Cstorm.freeze)%3B%0A%20%20%20%20%20%20%20%20storm.events.remove(window%2C'focus'%2Cstorm.resume)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%3B%0A%0A%20%20this.show%20%3D%20function()%20%7B%0A%20%20%20%20var%20i%3B%0A%20%20%20%20for%20(i%3D0%3B%20i%3Cthis.flakes.length%3B%20i%2B%2B)%20%7B%20this.flakes%5Bi%5D.o.style.display%20%3D%20'block'%3B%20%7D%20%7D%3B%20this.SnowFlake%20%3D%20function(type%2Cx%2Cy)%20%7B%20var%20s%20%3D%20this%3B%20this.type%20%3D%20type%3B%20this.x%20%3D%20x%7C%7CparseInt(rnd(screenX-20)%2C10)%3B%20this.y%20%3D%20(!isNaN(y)%3Fy%3A-rnd(screenY)-12)%3B%20this.vX%20%3D%20null%3B%20this.vY%20%3D%20null%3B%20this.vAmpTypes%20%3D%20%5B1%2C1.2%2C1.4%2C1.6%2C1.8%5D%3B%20%2F%2F%20%22amplification%22%20for%20vX%2FvY%20(based%20on%20flake%20size%2Ftype)%20this.vAmp%20%3D%20this.vAmpTypes%5Bthis.type%5D%20%7C%7C%201%3B%20this.melting%20%3D%20false%3B%20this.meltFrameCount%20%3D%20storm.meltFrameCount%3B%20this.meltFrames%20%3D%20storm.meltFrames%3B%20this.meltFrame%20%3D%200%3B%20this.twinkleFrame%20%3D%200%3B%20this.active%20%3D%201%3B%20this.fontSize%20%3D%20(10%2B(this.type%2F5)*10)%3B%20this.o%20%3D%20document.createElement('div')%3B%20this.o.innerHTML%20%3D%20storm.snowCharacter%3B%20if%20(storm.className)%20%7B%20this.o.setAttribute('class'%2C%20storm.className)%3B%20%7D%20this.o.style.color%20%3D%20storm.snowColor%3B%20this.o.style.position%20%3D%20(fixedForEverything%3F'fixed'%3A'absolute')%3B%20if%20(storm.useGPU%20%26%26%20features.transform.prop)%20%7B%20%2F%2F%20GPU-accelerated%20snow.%20this.o.style%5Bfeatures.transform.prop%5D%20%3D%20'translate3d(0px%2C%200px%2C%200px)'%3B%20%7D%20this.o.style.width%20%3D%20storm.flakeWidth%2B'px'%3B%20this.o.style.height%20%3D%20storm.flakeHeight%2B'px'%3B%20this.o.style.fontFamily%20%3D%20'arial%2Cverdana'%3B%20this.o.style.cursor%20%3D%20'default'%3B%20this.o.style.overflow%20%3D%20'hidden'%3B%20this.o.style.fontWeight%20%3D%20'normal'%3B%20this.o.style.zIndex%20%3D%20storm.zIndex%3B%20docFrag.appendChild(this.o)%3B%20this.refresh%20%3D%20function()%20%7B%20if%20(isNaN(s.x)%20%7C%7C%20isNaN(s.y))%20%7B%20%2F%2F%20safety%20check%20return%20false%3B%20%7D%20storm.setXY(s.o%2C%20s.x%2C%20s.y)%3B%20%7D%3B%20this.stick%20%3D%20function()%20%7B%20if%20(noFixed%20%7C%7C%20(storm.targetElement%20!%3D%3D%20document.documentElement%20%26%26%20storm.targetElement%20!%3D%3D%20document.body))%20%7B%20s.o.style.top%20%3D%20(screenY%2BscrollY-storm.flakeHeight)%2B'px'%3B%20%7D%20else%20if%20(storm.flakeBottom)%20%7B%20s.o.style.top%20%3D%20storm.flakeBottom%2B'px'%3B%20%7D%20else%20%7B%20s.o.style.display%20%3D%20'none'%3B%20s.o.style.bottom%20%3D%20'0%25'%3B%20s.o.style.position%20%3D%20'fixed'%3B%20s.o.style.display%20%3D%20'block'%3B%20%7D%20%7D%3B%20this.vCheck%20%3D%20function()%20%7B%20if%20(s.vX%3E%3D0%20%26%26%20s.vX%3C0.2)%20%7B%0A%20%20%20%20%20%20%20%20s.vX%20%3D%200.2%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(s.vX%3C0%20%26%26%20s.vX%3E-0.2)%20%7B%0A%20%20%20%20%20%20%20%20s.vX%20%3D%20-0.2%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20if%20(s.vY%3E%3D0%20%26%26%20s.vY%3C0.2)%20%7B%20s.vY%20%3D%200.2%3B%20%7D%20%7D%3B%20this.move%20%3D%20function()%20%7B%20var%20vX%20%3D%20s.vX*windOffset%2C%20yDiff%3B%20s.x%20%2B%3D%20vX%3B%20s.y%20%2B%3D%20(s.vY*s.vAmp)%3B%20if%20(s.x%20%3E%3D%20screenX%20%7C%7C%20screenX-s.x%20%3C%20storm.flakeWidth)%20%7B%20%2F%2F%20X-axis%20scroll%20check%0A%20%20%20%20%20%20%20%20s.x%20%3D%200%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(vX%20%3C%200%20%26%26%20s.x-storm.flakeLeftOffset%20%3C%20-storm.flakeWidth)%20%7B%0A%20%20%20%20%20%20%20%20s.x%20%3D%20screenX-storm.flakeWidth-1%3B%20%2F%2F%20flakeWidth%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20s.refresh()%3B%0A%20%20%20%20%20%20yDiff%20%3D%20screenY%2BscrollY-s.y%2Bstorm.flakeHeight%3B%0A%20%20%20%20%20%20if%20(yDiff%3Cstorm.flakeHeight)%20%7B%0A%20%20%20%20%20%20%20%20s.active%20%3D%200%3B%0A%20%20%20%20%20%20%20%20if%20(storm.snowStick)%20%7B%0A%20%20%20%20%20%20%20%20%20%20s.stick()%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20s.recycle()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20if%20(storm.useMeltEffect%20%26%26%20s.active%20%26%26%20s.type%20%3C%203%20%26%26%20!s.melting%20%26%26%20Math.random()%3E0.998)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20~1%2F1000%20chance%20of%20melting%20mid-air%2C%20with%20each%20frame%0A%20%20%20%20%20%20%20%20%20%20s.melting%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%20s.melt()%3B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20only%20incrementally%20melt%20one%20frame%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20s.melting%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20if%20(storm.useTwinkleEffect)%20%7B%0A%20%20%20%20%20%20%20%20%20%20if%20(s.twinkleFrame%20%3C%200)%20%7B%20if%20(Math.random()%20%3E%200.97)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20s.twinkleFrame%20%3D%20parseInt(Math.random()%20*%208%2C%2010)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20s.twinkleFrame--%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(!opacitySupported)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20s.o.style.visibility%20%3D%20(s.twinkleFrame%20%26%26%20s.twinkleFrame%20%25%202%20%3D%3D%3D%200%20%3F%20'hidden'%20%3A%20'visible')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20s.o.style.opacity%20%3D%20(s.twinkleFrame%20%26%26%20s.twinkleFrame%20%25%202%20%3D%3D%3D%200%20%3F%200%20%3A%201)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20this.animate%20%3D%20function()%20%7B%0A%20%20%20%20%20%20%2F%2F%20main%20animation%20loop%0A%20%20%20%20%20%20%2F%2F%20move%2C%20check%20status%2C%20die%20etc.%0A%20%20%20%20%20%20s.move()%3B%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20this.setVelocities%20%3D%20function()%20%7B%0A%20%20%20%20%20%20s.vX%20%3D%20vRndX%2Brnd(storm.vMaxX*0.12%2C0.1)%3B%0A%20%20%20%20%20%20s.vY%20%3D%20vRndY%2Brnd(storm.vMaxY*0.12%2C0.1)%3B%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20this.setOpacity%20%3D%20function(o%2Copacity)%20%7B%0A%20%20%20%20%20%20if%20(!opacitySupported)%20%7B%0A%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20o.style.opacity%20%3D%20opacity%3B%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20this.melt%20%3D%20function()%20%7B%0A%20%20%20%20%20%20if%20(!storm.useMeltEffect%20%7C%7C%20!s.melting)%20%7B%0A%20%20%20%20%20%20%20%20s.recycle()%3B%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20if%20(s.meltFrame%20%3C%20s.meltFrameCount)%20%7B%0A%20%20%20%20%20%20%20%20%20%20s.setOpacity(s.o%2Cs.meltFrames%5Bs.meltFrame%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20s.o.style.fontSize%20%3D%20s.fontSize-(s.fontSize*(s.meltFrame%2Fs.meltFrameCount))%2B'px'%3B%0A%20%20%20%20%20%20%20%20%20%20s.o.style.lineHeight%20%3D%20storm.flakeHeight%2B2%2B(storm.flakeHeight*0.75*(s.meltFrame%2Fs.meltFrameCount))%2B'px'%3B%0A%20%20%20%20%20%20%20%20%20%20s.meltFrame%2B%2B%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20s.recycle()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20this.recycle%20%3D%20function()%20%7B%0A%20%20%20%20%20%20s.o.style.display%20%3D%20'none'%3B%0A%20%20%20%20%20%20s.o.style.position%20%3D%20(fixedForEverything%3F'fixed'%3A'absolute')%3B%0A%20%20%20%20%20%20s.o.style.bottom%20%3D%20'auto'%3B%0A%20%20%20%20%20%20s.setVelocities()%3B%0A%20%20%20%20%20%20s.vCheck()%3B%0A%20%20%20%20%20%20s.meltFrame%20%3D%200%3B%0A%20%20%20%20%20%20s.melting%20%3D%20false%3B%0A%20%20%20%20%20%20s.setOpacity(s.o%2C1)%3B%0A%20%20%20%20%20%20s.o.style.padding%20%3D%20'0px'%3B%0A%20%20%20%20%20%20s.o.style.margin%20%3D%20'0px'%3B%0A%20%20%20%20%20%20s.o.style.fontSize%20%3D%20s.fontSize%2B'px'%3B%0A%20%20%20%20%20%20s.o.style.lineHeight%20%3D%20(storm.flakeHeight%2B2)%2B'px'%3B%0A%20%20%20%20%20%20s.o.style.textAlign%20%3D%20'center'%3B%0A%20%20%20%20%20%20s.o.style.verticalAlign%20%3D%20'baseline'%3B%0A%20%20%20%20%20%20s.x%20%3D%20parseInt(rnd(screenX-storm.flakeWidth-20)%2C10)%3B%0A%20%20%20%20%20%20s.y%20%3D%20parseInt(rnd(screenY)*-1%2C10)-storm.flakeHeight%3B%0A%20%20%20%20%20%20s.refresh()%3B%0A%20%20%20%20%20%20s.o.style.display%20%3D%20'block'%3B%0A%20%20%20%20%20%20s.active%20%3D%201%3B%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20this.recycle()%3B%20%2F%2F%20set%20up%20x%2Fy%20coords%20etc.%0A%20%20%20%20this.refresh()%3B%0A%0A%20%20%7D%3B%0A%0A%20%20this.snow%20%3D%20function()%20%7B%0A%20%20%20%20var%20active%20%3D%200%2C%20flake%20%3D%20null%2C%20i%2C%20j%3B%0A%20%20%20%20for%20(i%3D0%2C%20j%3Dstorm.flakes.length%3B%20i%3Cj%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20if%20(storm.flakes%5Bi%5D.active%20%3D%3D%3D%201)%20%7B%0A%20%20%20%20%20%20%20%20storm.flakes%5Bi%5D.move()%3B%0A%20%20%20%20%20%20%20%20active%2B%2B%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20if%20(storm.flakes%5Bi%5D.melting)%20%7B%0A%20%20%20%20%20%20%20%20storm.flakes%5Bi%5D.melt()%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20if%20(active%3Cstorm.flakesMaxActive)%20%7B%0A%20%20%20%20%20%20flake%20%3D%20storm.flakes%5BparseInt(rnd(storm.flakes.length)%2C10)%5D%3B%0A%20%20%20%20%20%20if%20(flake.active%20%3D%3D%3D%200)%20%7B%0A%20%20%20%20%20%20%20%20flake.melting%20%3D%20true%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20if%20(storm.timer)%20%7B%0A%20%20%20%20%20%20features.getAnimationFrame(storm.snow)%3B%0A%20%20%20%20%7D%0A%20%20%7D%3B%0A%0A%20%20this.mouseMove%20%3D%20function(e)%20%7B%0A%20%20%20%20if%20(!storm.followMouse)%20%7B%0A%20%20%20%20%20%20return%20true%3B%0A%20%20%20%20%7D%0A%20%20%20%20var%20x%20%3D%20parseInt(e.clientX%2C10)%3B%0A%20%20%20%20if%20(x%3CscreenX2)%20%7B%0A%20%20%20%20%20%20windOffset%20%3D%20-windMultiplier%2B(x%2FscreenX2*windMultiplier)%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20x%20-%3D%20screenX2%3B%0A%20%20%20%20%20%20windOffset%20%3D%20(x%2FscreenX2)*windMultiplier%3B%0A%20%20%20%20%7D%0A%20%20%7D%3B%0A%0A%20%20this.createSnow%20%3D%20function(limit%2CallowInactive)%20%7B%0A%20%20%20%20var%20i%3B%0A%20%20%20%20for%20(i%3D0%3B%20i%3Climit%3B%20i%2B%2B)%20%7B%20storm.flakes%5Bstorm.flakes.length%5D%20%3D%20new%20storm.SnowFlake(parseInt(rnd(flakeTypes)%2C10))%3B%20if%20(allowInactive%20%7C%7C%20i%3Estorm.flakesMaxActive)%20%7B%0A%20%20%20%20%20%20%20%20storm.flakes%5Bstorm.flakes.length-1%5D.active%20%3D%20-1%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20storm.targetElement.appendChild(docFrag)%3B%0A%20%20%7D%3B%0A%0A%20%20this.timerInit%20%3D%20function()%20%7B%0A%20%20%20%20storm.timer%20%3D%20true%3B%0A%20%20%20%20storm.snow()%3B%0A%20%20%7D%3B%0A%0A%20%20this.init%20%3D%20function()%20%7B%0A%20%20%20%20var%20i%3B%0A%20%20%20%20for%20(i%3D0%3B%20i%3Cstorm.meltFrameCount%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20storm.meltFrames.push(1-(i%2Fstorm.meltFrameCount))%3B%0A%20%20%20%20%7D%0A%20%20%20%20storm.randomizeWind()%3B%0A%20%20%20%20storm.createSnow(storm.flakesMax)%3B%20%2F%2F%20create%20initial%20batch%0A%20%20%20%20storm.events.add(window%2C'resize'%2Cstorm.resizeHandler)%3B%0A%20%20%20%20storm.events.add(window%2C'scroll'%2Cstorm.scrollHandler)%3B%0A%20%20%20%20if%20(storm.freezeOnBlur)%20%7B%0A%20%20%20%20%20%20if%20(isIE)%20%7B%0A%20%20%20%20%20%20%20%20storm.events.add(document%2C'focusout'%2Cstorm.freeze)%3B%0A%20%20%20%20%20%20%20%20storm.events.add(document%2C'focusin'%2Cstorm.resume)%3B%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20storm.events.add(window%2C'blur'%2Cstorm.freeze)%3B%0A%20%20%20%20%20%20%20%20storm.events.add(window%2C'focus'%2Cstorm.resume)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20storm.resizeHandler()%3B%0A%20%20%20%20storm.scrollHandler()%3B%0A%20%20%20%20if%20(storm.followMouse)%20%7B%0A%20%20%20%20%20%20storm.events.add(isIE%3Fdocument%3Awindow%2C'mousemove'%2Cstorm.mouseMove)%3B%0A%20%20%20%20%7D%0A%20%20%20%20storm.animationInterval%20%3D%20Math.max(20%2Cstorm.animationInterval)%3B%0A%20%20%20%20storm.timerInit()%3B%0A%20%20%7D%3B%0A%0A%20%20this.start%20%3D%20function(bFromOnLoad)%20%7B%0A%20%20%20%20if%20(!didInit)%20%7B%0A%20%20%20%20%20%20didInit%20%3D%20true%3B%0A%20%20%20%20%7D%20else%20if%20(bFromOnLoad)%20%7B%0A%20%20%20%20%20%20%2F%2F%20already%20loaded%20and%20running%0A%20%20%20%20%20%20return%20true%3B%0A%20%20%20%20%7D%0A%20%20%20%20if%20(typeof%20storm.targetElement%20%3D%3D%3D%20'string')%20%7B%0A%20%20%20%20%20%20var%20targetID%20%3D%20storm.targetElement%3B%0A%20%20%20%20%20%20storm.targetElement%20%3D%20document.getElementById(targetID)%3B%0A%20%20%20%20%20%20if%20(!storm.targetElement)%20%7B%0A%20%20%20%20%20%20%20%20throw%20new%20Error('Snowstorm%3A%20Unable%20to%20get%20targetElement%20%22'%2BtargetID%2B'%22')%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20if%20(!storm.targetElement)%20%7B%0A%20%20%20%20%20%20storm.targetElement%20%3D%20(document.body%20%7C%7C%20document.documentElement)%3B%0A%20%20%20%20%7D%0A%20%20%20%20if%20(storm.targetElement%20!%3D%3D%20document.documentElement%20%26%26%20storm.targetElement%20!%3D%3D%20document.body)%20%7B%0A%20%20%20%20%20%20%2F%2F%20re-map%20handler%20to%20get%20element%20instead%20of%20screen%20dimensions%0A%20%20%20%20%20%20storm.resizeHandler%20%3D%20storm.resizeHandlerAlt%3B%0A%20%20%20%20%20%20%2F%2Fand%20force-enable%20pixel%20positioning%0A%20%20%20%20%20%20storm.usePixelPosition%20%3D%20true%3B%0A%20%20%20%20%7D%0A%20%20%20%20storm.resizeHandler()%3B%20%2F%2F%20get%20bounding%20box%20elements%0A%20%20%20%20storm.usePositionFixed%20%3D%20(storm.usePositionFixed%20%26%26%20!noFixed%20%26%26%20!storm.flakeBottom)%3B%20%2F%2F%20whether%20or%20not%20position%3Afixed%20is%20to%20be%20used%0A%20%20%20%20if%20(window.getComputedStyle)%20%7B%0A%20%20%20%20%20%20%2F%2F%20attempt%20to%20determine%20if%20body%20or%20user-specified%20snow%20parent%20element%20is%20relatlively-positioned.%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20targetElementIsRelative%20%3D%20(window.getComputedStyle(storm.targetElement%2C%20null).getPropertyValue('position')%20%3D%3D%3D%20'relative')%3B%0A%20%20%20%20%20%20%7D%20catch(e)%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20oh%20well%0A%20%20%20%20%20%20%20%20targetElementIsRelative%20%3D%20false%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20fixedForEverything%20%3D%20storm.usePositionFixed%3B%0A%20%20%20%20if%20(screenX%20%26%26%20screenY%20%26%26%20!storm.disabled)%20%7B%0A%20%20%20%20%20%20storm.init()%3B%0A%20%20%20%20%20%20storm.active%20%3D%20true%3B%0A%20%20%20%20%7D%0A%20%20%7D%3B%0A%0A%20%20function%20doDelayedStart()%20%7B%0A%20%20%20%20window.setTimeout(function()%20%7B%0A%20%20%20%20%20%20storm.start(true)%3B%0A%20%20%20%20%7D%2C%2020)%3B%0A%20%20%20%20%2F%2F%20event%20cleanup%0A%20%20%20%20storm.events.remove(isIE%3Fdocument%3Awindow%2C'mousemove'%2CdoDelayedStart)%3B%0A%20%20%7D%0A%0A%20%20function%20doStart()%20%7B%0A%20%20%20%20if%20(!storm.excludeMobile%20%7C%7C%20!isMobile)%20%7B%0A%20%20%20%20%20%20doDelayedStart()%3B%0A%20%20%20%20%7D%0A%20%20%20%20%2F%2F%20event%20cleanup%0A%20%20%20%20storm.events.remove(window%2C%20'load'%2C%20doStart)%3B%0A%20%20%7D%0A%0A%20%20%2F%2F%20hooks%20for%20starting%20the%20snow%0A%20%20if%20(storm.autoStart)%20%7B%0A%20%20%20%20storm.events.add(window%2C%20'load'%2C%20doStart%2C%20false)%3B%0A%20%20%7D%0A%0A%20%20return%20this%3B%0A%0A%7D(window%2C%20document))%3B%0A%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;script&gt;" title="&lt;script&gt;" />
</head>

<body style="background:#6699cc">


<h1 style="font-size:1em;color:#fff">Snow</h1>



 Nice snow on the page.
 Enjoy it!



<div><a target="_blank" href="http://www.sourcecodeaplikasi.info/"><span style="font-size: 8pt; text-decoration: none">Source Code Aplikasi</span></a></div>

</body>
</html>

Download efek salju menggunakan html

Demikian yang dapat kami share kepada sobat source code aplikasi pada kesempatan ini, semoga dapat bermanfaat dan bisa menjadi referensi pemrograman bagi anda. Jangan lupa like Fan Page kami, dan SUBSCRIBE Channel Youtube kami untuk dapatkan update source code aplikasi terbaru.
Download Source Code Aplikasi
Membuat Efek Salju di Blog menggunakan HTML | Ahmad Code | 4.5
Leave a Reply