|
|
Vml:应用阿基米德算法在网页制作动画,原程+注释 |
|
|
作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 |
<HTML xmlns:v> <HEAD> <META http-equiv='Content-Type' content='text/html;charset=gb2312'> <Meta name='Gemeratpr' content='网络程序员伴侣(Lshdic)2004'> <TITLE>网页标题</TITLE> <STYLE> v\:*{behavior:url(#default#VML);} //声明变量v为VML对象 *{font-size:12px;color:;} a{text-decoration:none;} a:hover{color:red;} </STYLE> </HEAD> <BODY topmargin='2' leftmargin='2'> <BASE target='_top'> <div id=a style='table-Layout:fixed;width:100%;height:100%;border:1 solid black'></div> <script> //原作:风云舞,载自:http://www.lshdic.com/bbs //以前在VB里很容易利用阿基米德绘图,这次是DHTML版的,VB的下载来http://www.lshdic.com/download/lshdic/vb_xiaoguo.rar var pos1=0,cos1=0,sin1=0,buchang=1,line1,wid1,hei1,color1 //定义全局变量,为提高运行速度 wid1=a.offsetWidth/2 hei1=a.offsetHeight/2 //预装载宽与高,为提高运行速度 function add1(){ if(pos1==0){buchang=Math.round(Math.random()*5)+1;color1="rgb("+Math.round(Math.random()*255)+","+Math.round(Math.random()*255)+","+Math.round(Math.random()*255)+")"} //初始化时,定义一个随机步长,为达到各种效果 if(pos1<200)pos1+=buchang;else{pos1=0;a.innerHTML="";line1=null;wid1=a.offsetWidth/2;hei1=a.offsetHeight/2} //递加或者初始化 var line1=document.createElement('V:LINE') //创建一条新线段 line1.style.position='absolute' line1.style.left=wid1 line1.style.top=hei1 line1.strokecolor=color1 line1.to=pos1*Math.cos(pos1)+","+pos1*Math.sin(pos1) //应用阿基米德算法,产生规则角度的线段 a.appendChild(line1);document.title=pos1; //OK,增加线段 } setInterval('add1();',30) //30毫秒增加一次,注意30毫秒如果超过30条线以上,低于30毫秒对于使用低CPU处理器用户吃不消 </script> </BODY> </HTML>
|
|
相关文章:相关软件: |
|