javascript实现3D变换的立体圆圈实例


Posted in Javascript onAugust 06, 2015

本文实例讲述了javascript实现3D变换的立体圆圈。分享给大家供大家参考。具体如下:

这里使用javascript实现会变换的立体圆圈,在网页3D变化,变色的圆圈特效,网页上的3d圆圈特效。圆圈上的每一点的颜色并不一样,在黑色的网页背景下更能看清楚。

运行效果如下图所示:

javascript实现3D变换的立体圆圈实例

具体代码如下:

<html>
<head>
<title>变色的圆圈</title>
<style type="text/css">
<!--
body {
background-color: #000000;
}
-->
</style></head>
<body>
<script language="JavaScript">
var CoLoUrS=new Array('ff0000','ffffff','0000ff','ffffff');
var dots=16;
var step=0.3;
var a_StEp=0.05;
var RunTime=Xpos =Ypos =count_a=count=currStep =0;
var cntr=70;
var move_a=move=1;
var curColour;
document.write('<div id="moveDiv" style="position:absolute;top:0px;left:0px">');
for (i=0; i < dots; i++){
  document.write('<div style="position:absolute;top:0px;left:0px;width:2px;height:2px;background:#ffffff;font-size:2px"></div>');
}
document.write('</div>');
var x = moveDiv.all;
var numdiv=new Array(x[0],x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15]);
function colourStep(){
  count+=move;
  if (count >= numdiv.length) {count=0;count_a+=move}
  if (count_a == CoLoUrS.length) count_a=0;
  numdiv[count].style.background=CoLoUrS[count_a];
  setTimeout('colourStep()',100)
}
function divmove(){
  Ypos = document.body.scrollTop+document.body.offsetHeight/2 + document.body.offsetHeight/2.8*Math.cos((RunTime)/3)*Math.cos(RunTime/10);
  Xpos= document.body.scrollLeft+document.body.offsetWidth/2 + document.body.offsetWidth/2.4*Math.sin((RunTime)/5)*Math.sin(RunTime/20);
  RunTime+=a_StEp;
  Tma=setTimeout("divmove()", 10);
}
function overturn(){
  for (i=0;i<numdiv.length;i++){
    numdiv[i].style.top = Ypos+cntr*Math.cos((currStep + i*4)/10.2)*Math.cos(currStep/10);
    numdiv[i].style.left= Xpos+cntr*Math.sin((currStep + i*4)/10.2);
  }
  currStep+=step;
  setTimeout("overturn()",10);
}
function Shrink(){
  cntr-=0.5;
  GoShrink=setTimeout('Shrink()',10);
  if (cntr <=20){clearTimeout(GoShrink);Swell()}
}
function Swell(){
  cntr+=0.5;
  GoSwell=setTimeout('Swell()',10);
  if (cntr >=70){clearTimeout(GoSwell);Shrink()}
}
function transfer(){
  divmove();  //移动层
  overturn();  //使层进行翻转
  Shrink();  //改变层的大小
  colourStep();  //变换层的颜色
}
transfer();
</script>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
js 实现无干扰阴影效果 简单好用(附文件下载)
Dec 27 Javascript
js 绑定带参数的事件以及手动触发事件
Apr 27 Javascript
js判断运行jsp页面的浏览器类型以及版本示例
Oct 30 Javascript
js 判断控件获得焦点的示例代码
Mar 04 Javascript
javascript如何使用bind指定接收者
May 04 Javascript
js实现点击图片改变页面背景图的方法
Feb 28 Javascript
深入理解JavaScript系列(31):设计模式之代理模式详解
Mar 03 Javascript
JS判断指定dom元素是否在屏幕内的方法实例
Jan 23 Javascript
js canvas实现简单的图像扩散效果
Jun 28 Javascript
vue内置组件transition简单原理图文详解(小结)
Jul 12 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
Dec 03 Javascript
浅谈javascript如何获取文件后缀名
Aug 07 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
Aug 06 #Javascript
JS实现从网页顶部掉下弹出层效果的方法
Aug 06 #Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
Aug 06 #Javascript
PHP+jQuery+Ajax+Mysql如何实现发表心情功能
Aug 06 #Javascript
js实现简单秒表走动的时钟特效
Mar 25 #Javascript
javascript实现鼠标放上后下边对应内容变换的效果
Aug 06 #Javascript
JS实现跟随鼠标的链接文字提示框效果
Aug 06 #Javascript
You might like
PHP syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
PHP和.net中des加解密的实现方法
2013/02/27 PHP
PHP小技巧之函数重载
2014/06/02 PHP
PHP简单生成缩略图相册的方法
2015/07/29 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
关于php unset对json_encode的影响详解
2018/11/14 PHP
用js实现trim()的解决办法
2013/04/16 Javascript
你必须知道的Javascript知识点之&quot;this指针&quot;的应用
2013/04/23 Javascript
基于javascript实现数字英文验证码
2017/01/25 Javascript
bootstrap IE8 兼容性处理
2017/03/22 Javascript
使用nodeJs来安装less及编译less文件为css文件的方法
2017/11/20 NodeJs
js数组常用最重要的方法
2018/02/04 Javascript
React Hooks的深入理解与使用
2018/11/12 Javascript
element-ui 时间选择器限制范围的实现(随动)
2019/01/09 Javascript
vue实现抖音时间转盘
2019/09/08 Javascript
layui 实现二级弹窗弹出之后 关闭一级弹窗的方法
2019/09/18 Javascript
解决Vue在Tomcat8下部署页面不加载的问题
2019/11/12 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
[01:02:09]Liquid vs TNC 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21
2020/07/19 DOTA
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
基于Python的身份证号码自动生成程序
2014/08/15 Python
Python的math模块中的常用数学函数整理
2016/02/04 Python
python如何使用unittest测试接口
2018/04/04 Python
python实现汉诺塔算法
2021/03/01 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
python读写csv文件并增加行列的实例代码
2019/08/01 Python
Python文件操作方法详解
2020/02/09 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
信用卡工资证明范本
2014/10/17 职场文书
努力学习保证书
2015/02/26 职场文书
2015最新婚礼主持词
2015/06/30 职场文书
厉行节约工作总结
2015/08/12 职场文书
心得体会格式及范文
2016/01/25 职场文书
Golang原生rpc(rpc服务端源码解读)
2022/04/07 Golang