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 相关文章推荐
Javascript 个人笔记(没有整理,很乱)
Jul 07 Javascript
js创建对象的几种常用方式小结(推荐)
Oct 24 Javascript
jQuery lazyload 的重复加载错误以及修复方法
Nov 19 Javascript
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
Feb 27 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
Mar 18 Javascript
jQuery监听文件上传实现进度条效果的方法
Oct 16 Javascript
BootStrap tab选项卡使用小结
Aug 09 Javascript
vue.js全局API之nextTick全面解析
Jul 07 Javascript
浅谈发布订阅模式与观察者模式
Apr 09 Javascript
vue 解决异步数据更新问题
Oct 29 Javascript
node crawler如何添加promise支持
Feb 01 Javascript
如何HttpServletRequest文件对象并储存
Aug 14 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
索尼ICF-SW100收音机评测
2021/03/02 无线电
如何在WIN2K下安装PHP4.04
2006/10/09 PHP
ThinkPHP中使用ajax接收json数据的方法
2014/12/18 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
2016/12/02 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
Mootools 1.2教程 滑动效果(Slide)
2009/09/15 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
2012/05/03 Javascript
基于jquery的放大镜效果
2012/05/30 Javascript
js replace替换所有匹配的字符串
2014/02/13 Javascript
jQuery淡入淡出元素让其效果更为生动
2014/09/01 Javascript
JavaScript 中 avalon绑定属性总结
2016/10/19 Javascript
微信小程序开发探究
2016/12/27 Javascript
Angularjs 动态改变title标题(兼容ios)
2016/12/29 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
浅谈React组件之性能优化
2018/03/02 Javascript
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
详解Django框架中用户的登录和退出的实现
2015/07/23 Python
python实现class对象转换成json/字典的方法
2016/03/11 Python
Python读写Json涉及到中文的处理方法
2016/09/12 Python
python 调用win32pai 操作cmd的方法
2017/05/28 Python
Python读取sqlite数据库文件的方法分析
2017/08/07 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
2017/11/08 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
Python学习笔记之文件的读写操作实例分析
2019/08/07 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
python主线程与子线程的结束顺序实例解析
2019/12/17 Python
Herve Leger官网:标志性绷带连衣裙等
2018/12/26 全球购物
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
运动会800米加油稿
2014/02/22 职场文书
自我管理的活动方案
2014/08/25 职场文书
“四风”问题自我剖析材料思想汇报
2014/09/23 职场文书
2015年环卫工作总结
2015/04/28 职场文书
导游词之澳门妈祖庙
2019/12/19 职场文书
Java如何实现树的同构?
2021/06/22 Java/Android
Vue鼠标滚轮滚动切换路由效果的实现方法
2021/08/04 Vue.js