JavaScript烟花效果

来源:互联网 发布:淘宝代营运是什么意思 编辑:程序博客网 时间:2024/04/29 16:43
一个很简单的烟花代码
JavaScript代码
  1. radius =0;
  2. last_radius=100;
  3. startY=200;
  4. c_count=0;
  5. deviatY=1;
  6. // 设定礼花颜色
  7. Colors=new Array('ff0000','00ff00','ffffff','ff00ff','ffa500','ffff00','00ff00','ffffff','ff00ff');
  8. sColors=new Array('ffa500','00ff00','FFAAFF','fff000','fffffF');
  9. color=sColors[Math.floor(Math.random()*sColors.length)];
  10. if(document.all){
  11.     last_radius=document.body.clientWidth/8;
  12.     startX=document.body.clientWidth/2;
  13.     staY= document.body.clientHeight-20;
  14. }else{last_radius=window.outerWidth/8;
  15.     startX=window.outerWidth/2;
  16.     staY= window.outerHeight-20;
  17. }
  18. for(i=0;i<Math.PI*2;i=i+0.3){
  19.     document.write("<DIV STYLE='position:absolute;font-size:5;background-color:"+color+";top:"+staY+";left:"+startX+";'ID='bon"+i+"'>*</DIV>");
  20. }
  21. // 设定礼花升起时间
  22. setTimeout("uchiage()",10)
  23. function uchiage(){
  24.     if(startY < staY){
  25.         staY-=10;
  26.         for(i=0;i<Math.PI*2;i=i+0.3){
  27.             if(document.all){
  28.                 document.all["bon"+i].style.pixelTop = staY+document.body.scrollTop;
  29.             }else{
  30.                 document.getElementById("bon"+i).style.top=staY+window.pageYOffset +"px";
  31.             }
  32.         }
  33.         setTimeout("uchiage()",50);
  34.     }else{
  35.         radius =20;hanabi();
  36.     }
  37. }
  38. function hanabi(){
  39.     if(last_radius > radius){
  40.         radius +=10;
  41.         for(i=0;i<Math.PI*2;i=i+0.3){
  42.             pointX = startX + Math.cos(i)*radius;
  43.             (deviatY == 0.3)?katamuki=(pointX - startX) * 0.4:katamuki=0;
  44.             pointY = startY + Math.sin(i)*radius*deviatY+katamuki;
  45.             if(document.all){
  46.                 document.all["bon"+i].style.pixelTop = pointY+document.body.scrollTop;
  47.                 document.all["bon"+i].style.pixelLeft = pointX;
  48.             }else{
  49.                 document.getElementById("bon"+i).style.top=pointY+window.pageYOffset +"px";
  50.                 document.getElementById("bon"+i).style.left=pointX+"px";
  51.             }
  52.         }
  53.         // 设定礼花张开时间
  54.         setTimeout("hanabi()",60);
  55.     }else if(c_count<300){
  56.         for(i=0;i<Math.PI*2;i=i+0.3){
  57.             color=Colors[Math.floor(Math.random()*Colors.length)];
  58.             if(document.all){
  59.                 document.all["bon"+i].style.backgroundColor = color;
  60.             }else{
  61.                 document.getElementById("bon"+i).style.backgroundColor = color;
  62.             }
  63.             c_count++
  64.         }
  65.         // 设定礼花持续时间
  66.         setTimeout("hanabi()",50);
  67.     }else{
  68.         color=sColors[Math.floor(Math.random()*sColors.length)];
  69.         radius = 20;c_count=0;
  70.         if(document.all){
  71.             scrX=document.body.clientWidth - last_radius*2;
  72.             startX=Math.floor(Math.random()*scrX)+last_radius;
  73.             startY=Math.random()*last_radius+last_radius;
  74.             staY= document.body.clientHeight-20;
  75.             (!(Math.floor(Math.random()*3)))?deviatY=0.3:deviatY=1;
  76.             for(i=0;i<Math.PI*2;i=i+0.3){
  77.                 document.all["bon"+i].style.backgroundColor = color;
  78.                 document.all["bon"+i].style.pixelTop = staY+document.body.scrollTop;
  79.                 document.all["bon"+i].style.pixelLeft = startX;
  80.             }
  81.         }else{
  82.             scrX=window.outerWidth-last_radius*2;
  83.             startX=Math.floor(Math.random()*scrX)+last_radius;
  84.             startY=Math.random()*last_radius+last_radius;
  85.             staY= window.outerHeight-20;
  86.             (!(Math.floor(Math.random()*3)))?deviatY=0.3:deviatY=1;
  87.             for(i=0;i<Math.PI*2;i=i+0.3){
  88.                 document.getElementById("bon"+i).style.backgroundColor = color;
  89.                 document.getElementById("bon"+i).style.top=staY+window.pageYOffset +"px";
  90.                 document.getElementById("bon"+i).style.left=startX+"px";
  91.             }
  92.         }
  93.         uchiage();
  94.     }
  95. }
  96. function hanabi_size(){
  97.     if(document.all){
  98.         last_radius=document.body.clientWidth/8;
  99.     }else{
  100.         last_radius=window.outerWidth/8;
  101.     }
  102. }
  103. document.body.onresize=hanabi_size;
将上面代码放入HTML的body中即可,如下
  1. <html>
  2. <body bgcolor="black">
  3. <SCRIPT type="text/javascript">
  4. <!--放入烟花的JavaScript代码-->
  5. </SCRIPT>
  6. </body>
  7. </html>


<script type="text/javascript"><!--google_ad_client = "pub-2097865745512830";/* 728x90, 作成済み 08/12/22 */google_ad_slot = "5461334436";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
转贴请注明出处:http://blog.csdn.net/froole
原创粉丝点击