庆元旦,放烟花(纯javascript版烟花效果)

来源:互联网 发布:百度云登陆网络繁忙 编辑:程序博客网 时间:2024/05/01 17:34

转载自:随机博客http://www.cnblogs.com/random/archive/2009/01/01/1366394.html

2008年过去了,新的2009年到来了,2008太不平凡,发生了太多事,包括我自己,不管怎么样,困难过去就是一个新的阶段,继续+U。

       在这里写了一个JS的烟花特效,以此来庆祝新的一年,祝大家元旦快乐!

       实现原理:每个烟花颗粒是一个div对象,让每一个烟花颗粒对象以一个坐标点,按随机角度由内向外移动,每组烟花的颗粒数不同,发射的速度也不同,颜色也不同,都是随机产生的。当多个烟花颗粒同时移动的时候,就产生了类似烟花爆炸的效果,ok,现在看看效果和相关代码:

 

   

 

firework.js代码 :

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋var Utils=庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{};

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋Utils.$E=function(id)庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    return document.getElementById(id);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋};

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋Utils.$C=function(tagName)庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    return document.createElement(tagName);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋};

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋Utils.getIntervalRandom=function(min,max)庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    return parseInt(Math.random()*(max-min)+min);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋};

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋Utils.INTERVAL_SPEED=30;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋if(navigator.appName.toLowerCase().indexOf("netscape")!=-1)

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    Utils.INTERVAL_SPEED=Utils.INTERVAL_SPEED+(Utils.INTERVAL_SPEED/6);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋}

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋String.prototype.padLeft=function(sLen,padChar)庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    var result=this;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    for(i=this.length;i<sLen;i++)庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        result=padChar+result;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    }

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    return result;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋};

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋var Firework=function(x,shotHeight,radius,particleCount,color,speed)庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    this.shotHeight=shotHeight || 200;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    this.radius=radius || 100;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    this.particleCount=particleCount || 10;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    this.color=color || "#FF0000";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    this.parentElement=document.body;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    this.x=x;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    this.shottingSpeed=speed || 3;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    this.isShoted=false;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    this.isFlash=true;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    this._particles=[];

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    this._particleShape=unescape("%u25CF");

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    this._shottingShape="|";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    this._depth=3;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    this._shotting=Utils.$C("div");

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    this._flashing=Utils.$C("div");

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    this._disposeCount=0;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    var _this=this;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    void function initialize()庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        for(var i=0;i<_this.particleCount;i++)庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this._particles[i]=Utils.$C("div");

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this._particles[i].style.position="absolute";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this._particles[i].style.left=_this.x+"px";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this._particles[i].style.top=_this.shotHeight+"px";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this._particles[i].style.zIndex=100;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this._particles[i].style.color=_this.color;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this._particles[i].style.display="none";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this._particles[i].innerHTML=_this._particleShape;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this._particles[i].distance=Utils.getIntervalRandom(1,_this.radius-parseInt((i%_this._depth)*(_this.radius/_this._depth)));

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this._particles[i].speed=Utils.getIntervalRandom(1,4)*_this._particles[i].distance*0.06;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this.parentElement.appendChild(_this._particles[i]);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this._setSize(_this._particles[i],5);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        }

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._shotting.speed=_this.shottingSpeed;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._shotting.innerHTML=_this._shottingShape;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._shotting.style.position="absolute";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._shotting.style.fontWeight="900";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._shotting.style.left=_this.x+"px";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        //_this._shotting.style.top=_this.parentElement.offsetTop+_this.parentElement.offsetHeight-_this._shotting.offsetHeight+"px";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._shotting.style.top="700px";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._shotting.style.zIndex=100;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._shotting.style.color=_this.color;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._setSize(_this._shotting,15);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this.parentElement.appendChild(_this._shotting);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._flashing.style.width="100%";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._flashing.style.height="100%";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._flashing.style.left="0";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._flashing.style.top="0";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._flashing.style.backgroundColor="#ffffee";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._flashing.style.position="absolute";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._flashing.style.zIndex=200;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._flashing.style.display="none";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._flashing.style.MozOpacity=0.5;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._flashing.style.filter="alpha(opacity=50)";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this.parentElement.appendChild(_this._flashing);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    }();

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋};

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋Firework.prototype.shot=function()庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    var _this=this;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    _this.isShoted=true;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    var shotInterval=window.setInterval(function()庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        if(parseInt(_this._shotting.style.top)>_this.shotHeight)庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this._shotting.style.top=parseInt(_this._shotting.style.top)-_this._shotting.speed+"px";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        }

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        else庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            window.clearInterval(shotInterval);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this.parentElement.removeChild(_this._shotting);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this.bomb();

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this._shotting=null;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        }    

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    },Utils.INTERVAL_SPEED);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋};

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋Firework.prototype.bomb=function()庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    var _this=this;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    if(_this.isFlash)庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._flashing.style.display="";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        var flashTimeout=window.setTimeout(function()庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this.parentElement.removeChild(_this._flashing);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            window.clearTimeout(flashTimeout);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        },10);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    }

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    else庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this.parentElement.removeChild(_this._flashing);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    }

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    for (var i = 0; i <_this._particles.length; i++) 庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        _this._moveParticle(_this._particles[i], Utils.getIntervalRandom(0,360));

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    }

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋};

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋Firework.prototype._setSize=function(obj,value)庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    obj.style.fontSize=parseInt(value)+"px";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋};

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋Firework.prototype._moveParticle=function(particle,angle)庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    var _this=this;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    var initX=parseInt(particle.style.left);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    var initY=parseInt(particle.style.top);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    var currentDistance=0;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    var currentX=initX;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    var currentY=initY;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    particle.style.display="";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    particle.intervalId=window.setInterval(function()庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        if(currentDistance<particle.distance)庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            var newX,newY;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            var xAngle=angle*(2*Math.PI/360);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            var xDirection=Math.abs(Math.cos(xAngle))/Math.cos(xAngle);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            var yDirection=Math.abs(Math.sin(xAngle))/Math.sin(xAngle);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            if(Math.abs(Math.tan(xAngle))<=1)庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                var deltaX=Math.abs(particle.speed*Math.cos(xAngle))*xDirection;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                newX=currentX+deltaX;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                newY=-(newX-initX)*Math.tan(xAngle)+initY;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                currentDistance+=Math.abs(deltaX);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            }

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            else庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                var deltaY=Math.abs(particle.speed*Math.sin(xAngle))*yDirection;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                newY=currentY-deltaY;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                newX=-(newY-initY)/Math.tan(xAngle)+initX;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                currentDistance+=Math.abs(deltaY);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            }

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            currentX=newX;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            currentY=newY;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            particle.style.left=currentX+"px";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            particle.style.top=currentY+"px";

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        }

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        else庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            window.clearInterval(particle.intervalId);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            _this.parentElement.removeChild(particle);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            particle=null;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            if(++_this._disposeCount==_this.particleCount)庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                _this._particles.length=0;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                _this.parentElement=null;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                _this=null;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            }

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        }

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    },Utils.INTERVAL_SPEED);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋};

 

HTML页面代码:

 

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋<html xmlns="http://www.w3.org/1999/xhtml">

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    <head>

< ><>

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        <script type="text/javascript">庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            function test()庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                var fireworks=[];

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                var total=15;

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                window.setInterval(function()庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                    for (var i = 0; i < total; i++) 庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                        if (!fireworks[i] || !fireworks[i].parentElement) 庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                            var x=Utils.getIntervalRandom(50,document.body.offsetWidth-50);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                            var shotHeight=Utils.getIntervalRandom(100,450);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                            var radius=Utils.getIntervalRandom(50,200);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                            var particleCount=Utils.getIntervalRandom(40,80);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                            var speed=Utils.getIntervalRandom(10,20);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                            var color="#"+Utils.getIntervalRandom(0,16777215).toString(16).padLeft(6,"f");

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                            fireworks[i] = new Firework(x, shotHeight, radius, particleCount, color, speed);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                        }

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                    }

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                },100);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                window.setInterval(function()庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                    var currentIndex=Utils.getIntervalRandom(0,total);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                    if(fireworks[currentIndex] && fireworks[currentIndex].parentElement && !fireworks[currentIndex].isShoted)庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋{

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                        fireworks[currentIndex].shot();

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                    }

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋                },500);

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋            }

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        </script>

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    </head>

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    <body bgColor="#000000" onload="test();">

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        <div style="width:100%;text-align:center;font:100px 'Comic Sans MS',Arial,sans-serif;color:yellow;">Happy New Year</div>

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        <div style="width:100%;text-align:center;font:100px 'Comic Sans MS',Arial,sans-serif;color:red;">2009</div>

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋        <a href="http://random.cnblogs.com" target="newWindow"><div style="width:100%;font-size:12px;text-align:center;color:#fff">Copyright by Random 2009 All Rights Reserved</div></a>

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋    </body>

庆元旦,放烟花(纯javas<wbr>cript版烟花效果)  - 叶语聆枫 - 冬日咖啡屋</html>

原创粉丝点击