HTML代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
#radio{ position: relative; margin:0 auto; width: 1280px; height: 800px;border: 1px solid red;}
.radio_style{border: 5px solid rgb(14,73,102); transition:all 1s; width: 200px; height: 200px;}
.radio_style>div{opacity: 0.3; border-radius: 50%;background: black;margin:0 auto;margin-top: 150px;transition:all 1s;}
#radio1{
transition:all 1s;
background: #CCCCCC;
position: absolute;
left:150px;
top: 40%;
width: 200px;
height: 150px;
z-index: 1}
#radio2{
transition:all 1s;
background: #CCCCCC;
position: absolute;
left:250px;
top: 36%;
width: 250px;
height: 200px;
z-index: 2
}
#radio3{
transition:all 1s;
background: #CCCCCC;
position: absolute;
left:400px;
top: 25%;
width: 500px;
height: 350px;
z-index: 3
}
#radio4{
transition:all 1s;
background: #CCCCCC;
position: absolute;
left:800px;
top: 36%;
width: 250px;
height: 200px;
z-index: 2
}
#radio5{
transition:all 1s;
background: #CCCCCC;
position: absolute;
left:950px;
top:40%;
width: 200px;
height: 150px;
z-index: 1
}
#radio1>div{width: 200px ;margin-top: 200px;height:5px }
#radio2>div{width: 250px;margin-top: 300px;height: 10px; }
#radio3>div{width: 500px;margin-top: 450px;height: 20px }
#radio4>div{width: 250px;margin-top: 300px;height: 10px }
#radio5>div{width: 200px;margin-top: 200px; height: 5px} </style>
</head>
<body>
<div id="radio">
<div class="radio_style" id="radio1" onclick="fun1();"><div></div></div>
<div class="radio_style" id="radio2" onclick="fun2()"><div></div></div>
<div class="radio_style" id="radio3" onclick="fun3()"><div></div></div>
<div class="radio_style" id="radio4" onclick="fun4()"><div></div></div>
<div class="radio_style" id="radio5" onclick="fun5()"><div></div></div>
</div>
<script type="text/javascript" src="js.js"></script>
</body>
</html>

js代码:

/**
* Created by Administrator on 15-4-27.
*/
function $(id){
return document.getElementById(id);
}
function fun1(){
$("radio1").style.left="400px";
$("radio1").style.top="25%";
$("radio1").style.width="500px";
$("radio1").style.height="350px";
$("radio1").style.zIndex="3";
$("radio1").firstElementChild.style.marginTop="450px";
$("radio1").firstElementChild.style.width="500px";
$("radio1").firstElementChild.style.height="20px";
$("radio2").style.left="800px";
$("radio2").style.top="36%";
$("radio2").style.width="250px";
$("radio2").style.height="200px";
$("radio2").style.zIndex="2";
$("radio2").firstElementChild.style.marginTop="300px";
$("radio2").firstElementChild.style.width="250px";
$("radio2").firstElementChild.style.height="10px";
$("radio3").style.left="950px";
$("radio3").style.top="40%";
$("radio3").style.width="200px";
$("radio3").style.height="150px";
$("radio3").style.zIndex="1";
$("radio3").firstElementChild.style.marginTop="200px";
$("radio3").firstElementChild.style.width="200px";
$("radio3").firstElementChild.style.height="5px";
$("radio5").style.left="250px";
$("radio5").style.top="36%";
$("radio5").style.width="250px";
$("radio5").style.height="200px";
$("radio5").style.zIndex="2";
$("radio5").firstElementChild.style.marginTop="300px";
$("radio5").firstElementChild.style.width="250px";
$("radio5").firstElementChild.style.height="10px";
$("radio4").style.left="150px";
$("radio4").style.top="40%";
$("radio4").style.width="200px";
$("radio4").style.height="150px";
$("radio4").style.zIndex="1";
$("radio4").firstElementChild.style.marginTop="200px";
$("radio4").firstElementChild.style.width="200px";
$("radio4").firstElementChild.style.height="5px"; }
function fun2(){
$("radio2").style.left="400px";
$("radio2").style.top="25%";
$("radio2").style.width="500px";
$("radio2").style.height="350px";
$("radio2").style.zIndex="3";
$("radio2").firstElementChild.style.marginTop="450px";
$("radio2").firstElementChild.style.width="500px";
$("radio2").firstElementChild.style.height="20px";
$("radio3").style.left="800px";
$("radio3").style.top="36%";
$("radio3").style.width="250px";
$("radio3").style.height="200px";
$("radio3").style.zIndex="2";
$("radio3").firstElementChild.style.marginTop="300px";
$("radio3").firstElementChild.style.width="250px";
$("radio3").firstElementChild.style.height="10px";
$("radio4").style.left="950px";
$("radio4").style.top="40%";
$("radio4").style.width="200px";
$("radio4").style.height="150px";
$("radio4").style.zIndex="1";
$("radio4").firstElementChild.style.marginTop="200px";
$("radio4").firstElementChild.style.width="200px";
$("radio4").firstElementChild.style.height="5px";
$("radio1").style.left="250px";
$("radio1").style.top="36%";
$("radio1").style.width="250px";
$("radio1").style.height="200px";
$("radio1").style.zIndex="2";
$("radio1").firstElementChild.style.marginTop="300px";
$("radio1").firstElementChild.style.width="250px";
$("radio1").firstElementChild.style.height="10px";
$("radio5").style.left="150px";
$("radio5").style.top="40%";
$("radio5").style.width="200px";
$("radio5").style.height="150px";
$("radio5").style.zIndex="1";
$("radio5").firstElementChild.style.marginTop="200px";
$("radio5").firstElementChild.style.width="200px";
$("radio5").firstElementChild.style.height="5px";
}
function fun3() {
$("radio3").style.left="400px";
$("radio3").style.top="25%";
$("radio3").style.width="500px";
$("radio3").style.height="350px";
$("radio3").style.zIndex="3";
$("radio3").firstElementChild.style.marginTop="450px";
$("radio3").firstElementChild.style.width="500px";
$("radio3").firstElementChild.style.height="20px";
$("radio4").style.left="800px";
$("radio4").style.top="36%";
$("radio4").style.width="250px";
$("radio4").style.height="200px";
$("radio4").style.zIndex="2";
$("radio4").firstElementChild.style.marginTop="300px";
$("radio4").firstElementChild.style.width="250px";
$("radio4").firstElementChild.style.height="10px";
$("radio5").style.left="950px";
$("radio5").style.top="40%";
$("radio5").style.width="200px";
$("radio5").style.height="150px";
$("radio5").style.zIndex="1";
$("radio5").firstElementChild.style.marginTop="200px";
$("radio5").firstElementChild.style.width="200px";
$("radio5").firstElementChild.style.height="5px";
$("radio2").style.left="250px";
$("radio2").style.top="36%";
$("radio2").style.width="250px";
$("radio2").style.height="200px";
$("radio2").style.zIndex="2";
$("radio2").firstElementChild.style.marginTop="300px";
$("radio2").firstElementChild.style.width="250px";
$("radio2").firstElementChild.style.height="10px";
$("radio1").style.left="150px";
$("radio1").style.top="40%";
$("radio1").style.width="200px";
$("radio1").style.height="150px";
$("radio1").style.zIndex="1";
$("radio1").firstElementChild.style.marginTop="200px";
$("radio1").firstElementChild.style.width="200px";
$("radio1").firstElementChild.style.height="5px";
}
function fun4() {
$("radio4").style.left="400px";
$("radio4").style.top="25%";
$("radio4").style.width="500px";
$("radio4").style.height="350px";
$("radio4").style.zIndex="3";
$("radio4").firstElementChild.style.marginTop="450px";
$("radio4").firstElementChild.style.width="500px";
$("radio4").firstElementChild.style.height="20px";
$("radio5").style.left="800px";
$("radio5").style.top="36%";
$("radio5").style.width="250px";
$("radio5").style.height="200px";
$("radio5").style.zIndex="2";
$("radio5").firstElementChild.style.marginTop="300px";
$("radio5").firstElementChild.style.width="250px";
$("radio5").firstElementChild.style.height="10px";
$("radio1").style.left="950px";
$("radio1").style.top="40%";
$("radio1").style.width="200px";
$("radio1").style.height="150px";
$("radio1").style.zIndex="1";
$("radio1").firstElementChild.style.marginTop="200px";
$("radio1").firstElementChild.style.width="200px";
$("radio1").firstElementChild.style.height="5px";
$("radio3").style.left="250px";
$("radio3").style.top="36%";
$("radio3").style.width="250px";
$("radio3").style.height="200px";
$("radio3").style.zIndex="2";
$("radio3").firstElementChild.style.marginTop="300px";
$("radio3").firstElementChild.style.width="250px";
$("radio3").firstElementChild.style.height="10px";
$("radio2").style.left="150px";
$("radio2").style.top="40%";
$("radio2").style.width="200px";
$("radio2").style.height="150px";
$("radio2").style.zIndex="1";
$("radio2").firstElementChild.style.marginTop="200px";
$("radio2").firstElementChild.style.width="200px";
$("radio2").firstElementChild.style.height="5px";
}
function fun5() {
$("radio5").style.left="400px";
$("radio5").style.top="25%";
$("radio5").style.width="500px";
$("radio5").style.height="350px";
$("radio5").style.zIndex="3";
$("radio5").firstElementChild.style.marginTop="450px";
$("radio5").firstElementChild.style.width="500px";
$("radio5").firstElementChild.style.height="20px";
$("radio1").style.left="800px";
$("radio1").style.top="36%";
$("radio1").style.width="250px";
$("radio1").style.height="200px";
$("radio1").style.zIndex="2";
$("radio1").firstElementChild.style.marginTop="300px";
$("radio1").firstElementChild.style.width="250px";
$("radio1").firstElementChild.style.height="10px";
$("radio2").style.left="950px";
$("radio2").style.top="40%";
$("radio2").style.width="200px";
$("radio2").style.height="150px";
$("radio2").style.zIndex="1";
$("radio2").firstElementChild.style.marginTop="200px";
$("radio2").firstElementChild.style.width="200px";
$("radio2").firstElementChild.style.height="5px";
$("radio4").style.left="250px";
$("radio4").style.top="36%";
$("radio4").style.width="250px";
$("radio4").style.height="200px";
$("radio4").style.zIndex="2";
$("radio4").firstElementChild.style.marginTop="300px";
$("radio4").firstElementChild.style.width="250px";
$("radio4").firstElementChild.style.height="10px";
$("radio3").style.left="150px";
$("radio3").style.top="40%";
$("radio3").style.width="200px";
$("radio3").style.height="150px";
$("radio3").style.zIndex="1";
$("radio3").firstElementChild.style.marginTop="200px";
$("radio3").firstElementChild.style.width="200px";
$("radio3").firstElementChild.style.height="5px";
}

大家可以试试我这个旋转效果,全是用定位来做的,问题还有很多,js功底不行,如果旋转的个数增加的话,相应的代码就会增加不少。

这里有6个矩形旋转,点最后一层的时候有问题,所以在每个函数开头做了限制。

希望看到的朋友帮我解决下这个问题,面向对象的功底还很差

用js写的比较简单3D旋转效果的更多相关文章

  1. js写的一个简单的手风琴菜单

    1 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&q ...

  2. 原生js写的一个简单slider

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 用JS写的一个简单的时钟

    没什么技术含量,单纯的想传上去.手痒了 <!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...

  4. 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”

    这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...

  5. JS写一个简单日历

    JS写一个日历,配合jQuery操作DOM <!DOCTYPE html> <html> <head> <meta charset="UTF-8&q ...

  6. Css3动画(一) 如何画3D旋转效果或者卫星围绕旋转效果

    如何画3D旋转效果或者卫星围绕旋转效果,当然这个也是工作中的一个任务,我在网上翻了一下,并没有找到类似的东西,所以写下来还是费了一番功夫,因此我把它拿出来记录一下,当然替换了一部分内容.好了,话不多说 ...

  7. Three.js + HTML5 Audio API 打造3D音乐频谱,Let’s ROCK!

    继续玩味之前写的音乐频谱作品,将原来在Canvas标签上的 作图利用Three.js让它通过WebGL呈现,这样就打造出了一个全立体感的频谱效果了. 项目详情及源码 项目GitHub地址:https: ...

  8. 好玩的WPF第四弹:用Viewport2DVisual3D实现3D旋转效果

    原文:好玩的WPF第四弹:用Viewport2DVisual3D实现3D旋转效果 版权声明:转载请联系本人,感谢配合!本站地址:http://blog.csdn.net/nomasp https:// ...

  9. webgl(three.js)实现室内三维定位,3D定位,3D楼宇bim、实时定位三维可视化解决方案——第十四课(定位升级版)

    序: 还是要抽出时间看书的,迷上了豆豆的作品,最近在看<天幕红尘>,书中主人公的人生价值观以及修为都是让我惊为叹止.很想成为那样的人,但是再看看自己每天干的事,与时间的支配情况,真是十分的 ...

随机推荐

  1. SWT布局管理器

    一.充满式布局管理器(FillLayout类) FillLayout类是最简单的布局类,它把组件摆放成一行或者一列,并强制组件大小一致.一般,组件的高度与最高的组件一致,宽度与最宽的组件相同.,它里面 ...

  2. python之 list、tuple、dict、set

    2016-08-24   14:32:59 list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 例如:定义一个列表L,里面存放了一些姓氏 ...

  3. MAGENTA: Meta-Analysis Gene-set Enrichment of variaNT Associations

    MAGENTA是一款计算工具,利用全基因组遗传数据,计算预先设定的涉及生物过程或者功能性基因集在遗传相关性的富集程度.开发的目的是分析基因型不是现成的数据集,比如大型的全基因组关联荟萃分析.在以下两种 ...

  4. Linux下SVN客户端安装及使用

    转载自:http://www.linuxidc.com/Linux/2015-01/111748.htm 不想自己写了,这个写的挺全的,我就按这个步骤走的,呵呵 非常感谢作者 环境说明: 系统版本:C ...

  5. shell 中scp密码输入 --expect

    这里必须先安装: yum install expect -y expect是一种自动交互语言,能实现在shell脚本中为scp和ssh等自动输入密码自动登录. 下面给出scp和ssh的使用示例: 1. ...

  6. JavaScript 详说事件机制之冒泡、捕获、传播、委托

    DOM事件流(event  flow )存在三个阶段:事件捕获阶段.处于目标阶段.事件冒泡阶段. 事件捕获(event  capturing):通俗的理解就是,当鼠标点击或者触发dom事件时,浏览器会 ...

  7. 10个使用Java最广泛的现实领域

    10个使用Java最广泛的现实领域 如果你是一个初学者,刚刚开始学习Java,你可能会想Java有什么用呢?除了Minecraft貌似也看不到其他用Java写的游戏,像Adobe Acrobat和Mi ...

  8. 读取xml文件报错:Invalid byte 2 of 2-byte UTF-8 sequence。

    程序读取xml文件后,系统报“Invalid byte 2 of 2-byte UTF-8 sequence”错误,如何解决呢? 1.程序解析xml的时候,出现Invalid byte 2 of 2- ...

  9. Android框架之AndroidAnnotations基础

    一:开源网址 https://github.com/excilys/androidannotations/wiki 二:AndroidAnnotation特点 (1)依赖注入 可以注入 views, ...

  10. python python 入门学习之网页数据爬虫搜狐汽车数据库

    自己从事的是汽车行业,所以首先要做的第一个程序是抓取搜狐汽车的销量数据库(http://db.auto.sohu.com/cxdata/): 数据库提供了07年至今的汽车月销量,每个车型对应一个xml ...