<html> |
<head> |
<script type= "text/javascript" > |
( function () { |
function j(a, b, c) { |
if (a.addEventListener) a.addEventListener(b, c, false ); |
else a.attachEvent && a.attachEvent( "on" + b, c) |
} |
function f(a) { |
if ( typeof window.onload != "function" ) window.onload = a; |
else { |
var b = window.onload; |
window.onload = function () { |
b(); |
a() |
} |
} |
} |
function g() { |
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 k() { |
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 h(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 = g().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 i = false ; |
f( function () { |
i = true |
}); |
window.createSnow = function (a, b) { |
if (i) { |
var c = []; |
setInterval( function () { |
b > c.length && Math.random() < b * 0.0025 && c.push( new h(a)); |
for ( var e = g().top, l = k(), d = c.length - 1; d >= 0; d--) if (c[d]) if (c[d].top < e || c[d].top > e + l) { |
c[d].remove(); |
c.splice(d, 1) |
} else { |
c[d].move(); |
c[d].draw() |
} |
}, |
40); |
j(window, "scroll" , |
function () { |
for ( var e = c.length - 1; e >= 0; e--) c[e].draw() |
}) |
} else f( function () { |
createSnow(a, b) |
}) |
}; |
h.prototype = { |
createEl: function (a, b) { |
this .el = document.createElement( "img" ); |
this .el.setAttribute( "src" , b + "snow" + Math.floor(Math.random() * 4) + ".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 .top < 0) this .top = this .maxTop; |
else if ( this .top > this .maxTop) this .top = 0; |
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) |
} |
} |
})(); |
</script> |
</head> |
<body bgcolor= "#999999" > |
<script> |
//使用方法 |
createSnow( '...........' , 60); //修改为自己的雪花图片存放目录,文件形式为snow1.gif snow2.gif ...... |
</script> |
</body> |
</html> |
初级程序员
by: 程序猿M 发表于:2012-11-17 17:59:35 顶(1) | 踩(0) 回复
怎么我的总是显示的是方块,路径也对啊
网友回复
回复小蜜锋 : 看最后那几行使用方法: createSnow('...........', 60);//修改为自己的雪花图片存放目录,文件形式为snow1.gif snow2.gif ......
顶(0) 踩(0) 2012-11-21 12:48:00
小蜜锋 : 例如:createSnow('./image', 60); //image文件夹里放着snow1.gif snow2.gif...等文件
顶(0) 踩(0) 2012-11-21 12:51:05
回复评论