前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >雪花代码

雪花代码

作者头像
似水的流年
发布2018-01-18 11:48:09
1K0
发布2018-01-18 11:48:09
举报
文章被收录于专栏:电光石火电光石火
代码语言:js
复制
<style type="text/css">
.large-header {background: #333;}
</style>
 
<div id="large-header" class="large-header" style="height: 711px;"> </div>    
<!-- 雪花 -->
<script type="text/javascript" language="javascript">
(function(){function k(a,b,c)
{if(a.addEventListener)a.addEventListener(b,c,false);
else a.attachEvent&&a.attachEvent("on"+b,c)
}function g(a){if(typeof window.onload!="function")window.onload=a;
else{var b=window.onload;window.onload=function(){b();a()
}
}
}function h(){
var a={};
for(type in{Top:"",Left:""})
{var b=type=="Top"?"Y":"X";
if(typeof window["page"+b+"Offset"]!="undefined")a[type.toLowerCase()]=window["page"+b+"Offset"];
else{b=document.documentElement.clientHeight?document.documentElement:document.body; 
a[type.toLowerCase()]=b["scroll"+type]}}return a}
function l(){var a=document.body,b;
if(window.innerHeight)b=window.innerHeight;
else if(a.parentElement.clientHeight)b=a.parentElement.clientHeight;
else if(a&&a.clientHeight)b=a.clientHeight;
return b
}
function i(a){
this.parent=document.body;
this.createEl(this.parent,a);
this.size=Math.random()*5+5;
this.el.style.width=Math.round(this.size)+"px";
this.el.style.height=Math.round(this.size)+"px";
this.maxLeft=document.body.offsetWidth-this.size;
this.maxTop=document.body.offsetHeight- this.size;
this.left=Math.random()*this.maxLeft;
this.top=h().top+1;
this.angle=1.4+0.2*Math.random();
this.minAngle=1.4;
this.maxAngle=1.6;
this.angleDelta=0.01*Math.random();
this.speed=2+Math.random()
}
var j=false;
g(function(){j=true});
var f=true;
window.createSnow=function(a,b){if(j){
var c=[],m=setInterval(function(){
f&&b>c.length&&Math.random()<b*0.0025&&c.push(new i(a));
!f&&!c.length&&clearInterval(m);
for(var e=h().top,n=l(),d=c.length-1;d>=0;
d--)if(c[d])if(c[d].top<e||c[d].top+c[d].size+1>e+n){c[d].remove();
 c[d]=null;
 c.splice(d,1)}else{c[d].move();c[d].draw()}},40);
 k(window,"scroll",function()
 {for(var e=c.length-1;e>=0;e--)c[e].draw()})}
 else g(function(){createSnow(a,b)})};
 window.removeSnow=function(){f=false};
 i.prototype={createEl:function(a,b){
 this.el=document.createElement("img");
 this.el.setAttribute("src",b+"http://mimg.127.net/hxm/quan/hd/111207_sdj/style/img/snow.gif");
 this.el.style.position="absolute";
 this.el.style.display="block";
 this.el.style.zIndex="99999";
 this.parent.appendChild(this.el)},move:function(){
 if(this.angle< this.minAngle||this.angle>this.maxAngle)this.angleDelta=-this.angleDelta;
 this.angle+=this.angleDelta;
 this.left+=this.speed*Math.cos(this.angle*Math.PI);
 this.top-=this.speed*Math.sin(this.angle*Math.PI);
 if(this.left<0)this.left=this.maxLeft;
 else if(this.left>this.maxLeft)this.left=0},draw:function(){
 this.el.style.top=Math.round(this.top)+"px";
 this.el.style.left=Math.round(this.left)+"px"},remove:function(){this.parent.removeChild(this.el);
 this.parent=this.el=null}}})();
createSnow("", 80); 
</script>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档