您的位置:首页 > 编程语言

【编程游戏】贺岁放礼花。(点燃续帖1-36楼cgisir的焰火)

2008-12-29 16:52 483 查看
function viewPage(html) {
var page = window.open('', '', '');
page.opener = null;
page.document.write(html);
page.document.close();
}

【编程游戏】贺岁放礼花。(第一名奖励10000可用分)
作者:


点燃 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>烟火</title>
<style>
html{height:100%; overflow:hidden}
body{background:black; height:100%}
div{position:absolute; overflow:hidden; font-size:6px; Arial, Helvetica, sans-serif; color:yellow}
</style>
<script>
var Browser ={
IE: !!(window.attachEvent && !window.opera),
Opera: !!window.opera,
WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
}

Object.extend = function(destination, source) {
for (var property in source)
destination[property] = source[property];
return destination;
}

var Element = {
setOpacity: function(val){
if(Browser.IE){
this.style.filter = 'alpha(opacity='+val+')';
}else{
this.style.opacity = parseFloat(val/100);
}
}
}

//var m=1, ms=12, r = 1;
function start(pos){
var angel = pos.m&1 && 60 || 120;
for(var i=0; i<3; i++){
angel += 120;
createStart({x:pos.x, y:pos.y, r:pos.r, angel: angel, m:pos.m, c:pos.c});
}
pos.m++
if(pos.m>pos.ms) return;
var o = arguments.callee;
setTimeout(function(){o(pos)},10);

}

function createStart(pos){
var d = document.createElement('div');
Object.extend(d, Element);
//d.innerHTML = pos.m&1&&'1'||'0';
d.innerHTML = '●';
d.style.color = colors[Math.floor(Math.random()*7)];
//d.style.color = pos.c;
d.style.left = pos.x - parseInt(pos.r*Math.sin(pos.angel*2*Math.PI/360)) + 'px';
d.style.top = pos.y - parseInt(pos.r*Math.cos(pos.angel*2*Math.PI/360)) + 'px';
document.body.appendChild(d);
d.n = 1+pos.m*1.6;
d.o = 150;
d.op = d.o/d.n;

d.play = function(pos){
this.n--;
pos.r += this.n/0.5;
pos.y -= this.n-12;
d.style.left = pos.x - parseInt(pos.r*Math.sin(pos.angel*2*Math.PI/360)) + 'px';
d.style.top = pos.y - parseInt(pos.r*Math.cos(pos.angel*2*Math.PI/360)) + 'px';
this.o = this.o - this.op;
this.setOpacity(this.o);
if(this.n<=0){
clearInterval(this.t);
document.body.removeChild(this);

}
}
pos.m *= 5;
d.t = setInterval(function(){d.play.call(d,pos)}, 5+pos.m);
}

function bp(){
var x = document.documentElement.scrollWidth, y = document.documentElement.scrollHeight;
var d = document.createElement('div');
d.innerHTML = '↑';
d.style.fontSize=12;
d.style.color = colors[Math.floor(Math.random()*6)];
d.h = y;
d.e = Math.floor(Math.random()*300)
d.s = 30;
d.style.top = y + 'px';
d.style.left = Math.floor(Math.random()*x) + 'px';
document.body.appendChild(d);
d.t = setInterval(function(){re(d)}, 25)
}

function re(o,par){
o.s<=10?o.s=10:o.s--;
o.style.top = o.offsetTop - o.s*1.5 + 'px'
if(o.offsetTop < o.h/2-o.e){
clearInterval(o.t);
start({m:1, ms:8, r:1, x:o.offsetLeft, y:o.offsetTop, c:o.style.color});
document.body.removeChild(o);
}
}



var colors = ['red','yellow','blue', 'white', '#f36','#0f9'];
onload = function(){
setInterval(bp, 1500);
}
</script>
</head>
<body>
<div style="z-index:999; border:1px solid #666; height:118px; width:500px; left:50%; top:50%; margin-left:-250px; margin-top:-58px; text-align:center; font-size:35px; line-height:118px; font-weight:bold; color:red">
新年快乐! 万事如意!
</div>
</body>
</html>

点燃 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐