论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Javascript教程
Tag:验证,特效,入门,实例,验证,表单,特效,正则表达式,跑马灯,document,函数,代码,getElementByID,菜单,图片,视频教程

Javascript制作简单的烟花效果

文章类别:Javascript | 发表日期:2010-6-18 9:35:04

以前看csdn上有人写的烟花,非常漂亮,一直想写。结果这么长的学习,算是可以一试了,发个0.5版本。仅供一笑
现在的问题是:计时器有2个,非常影响效率,在想办法改进中。
没有按照面对对象的写法。
<!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 type="text/css">
 html,body { height:100%;}
 body { background:#000; color:#FF0000; overflow:hidden;}
 .divs { position:absolute; width:20px; height:20px;}
</style>
</head>
<body>
<script type="text/javascript">
var getRondom = function(small,big){
   return small+(big-small)*Math.random();
 }
var $ = function(id){ return document.getElementById(id);}
function circle(){
 c=document.createElement('div');
 c.innerHTML="*";
 c.style.position ='absolute';
 c.style.left = getRondom(200,window.screen.availWidth-200)+'px';
 c.style.top = window.screen.availHeight-200 +'px';
 document.body.appendChild(c);
 h1 = getRondom(20,window.screen.availHeight-200);
 h=window.screen.availHeight ;
 t1 = setInterval(function(){h=h-10;c.style.top=h+"px"; if(h<=h1) {clearInterval(t1);start(c) }},10)
 }
function show(s1,r1){
   n=20;
   divs = s1.getElementsByTagName('div');
   for(var i=0; i<divs.length;i++){
     divs[i].className='divs';
     divs[i].style.left=r1*Math.cos(360/n*i)+'px';
     divs[i].style.top=r1*Math.sin(360/n*i)+'px';
   }
}
function start(s){
  s.style.position='relative';
 for(var i=0;i<20;i++){
  s.appendChild(document.createElement('div'))['innerHTML']='*';
  }
  r=0;
  show(s,r);
 
  t = setInterval(function(){r=r+10;show(s,r); if(r>=150) {clearInterval(t);s.parentNode.removeChild(s); circle9 = new circle(); }},50)
}
 circle1 = new circle();
</script>
</body>
</html>

视频教程列表
文章教程搜索
 
Javascript推荐教程
Javascript热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058