JS实现生成会变大变小的圆环实例
作者:皮蛋
这篇文章主要介绍了JS实现生成会变大变小的圆环,涉及javascript数学运算及页面样式动态操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了JS实现生成会变大变小的圆环。分享给大家供大家参考。具体如下:
这里使用javascript生成圆环,会变大变小,对于研究如何利用JavaScript生成动画效果,这是个很好的范例。
运行效果如下图所示:
具体代码如下:
<!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> <style> #div1 {width:2px; height:2px; position:absolute; background:red; left:150px; top:200px;} div {width:3px; height:3px; position:absolute; background:black;} </style> <title>JS圆环</title> <script type="text/javascript"> var n=30; var r=100; var a=true; window.onload=function () { var oDiv1=document.getElementById('div1'); var aDiv=[]; var oDiv=null; var j=0; var i=0; for(i=0;i<n;i++) { oDiv=document.createElement('div'); aDiv.push(oDiv); document.body.appendChild(oDiv); } calcDrg(); function calcDrg() { for(i=0;i<n;i++) { var degress=360*i/n+j; var a=Math.sin(degress*Math.PI/180)*r; var b=Math.cos(degress*Math.PI/180)*r; aDiv[i].style.left=oDiv1.offsetLeft+b+'px'; aDiv[i].style.top=oDiv1.offsetTop-a+'px'; } } setInterval(function (){ j++; var s=0.3; a?r-=s:r+=s; if(r<=0 || r>=100) { a=!a; } calcDrg(); }, 10); }; </script> </head> <body> <div id="div1"> </div> </body> </html>
希望本文所述对大家的javascript程序设计有所帮助。