js实现可旋转的立方体模型
网络编程 2021-07-04 20:01www.168986.cn编程入门
这里给大家分享的是通过js脚本来控制页面中的正方体转动特效,用户可以点击按钮向右转动,也可以向下转动,结合自己的需求控制即可。效果非常棒,这里推荐给大家
这是一个简单的立方体应用,他是很多立方旋转变换的基础,例如实现3D轮播图的实现等。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>可旋转立方体效果</title> <style type="text/css"> {padding: 0; margin: 0} img{border: 0} ul li{list-style: none} ul{width: 200px; height: 200px; margin: 100px auto; position: relative; -webkit-transform-style: preserve-3d ; / perspective: 100px;/ } /绕中心旋转,坐标轴会随旋转而旋转/ li{width:200px;height:200px;position:absolute;text-align:center;line-height:200px;font-size:80px;font-weight:bold;color:#fff;} /构造六个面/ li:nth-child(1){background:rgba(255,0,0,1);-webkit-transform:rotateX(90deg) translateZ(100px);} li:nth-child(2){background:rgba(0,255,255,1);-webkit-transform:rotateX(270deg) translateZ(100px);} li:nth-child(3){background:rgba(255,0,255,1);-webkit-transform:rotateY(90deg) translateZ(100px);} li:nth-child(4){background:rgba(0,255,0,1);-webkit-transform:rotateY(270deg) translateZ(100px);} li:nth-child(5){background:rgba(200,200,0,1);-webkit-transform:translateZ(-100px);} li:nth-child(6){background:rgba(0,0,255,1);-webkit-transform: translateZ(100px) ;} .button{ width: 200px; margin: 20px auto; position: relative; cursor: pointer; } input{ width: 50px; height: 30px; position: absolute; cursor: pointer; } /按钮的绝对定位/ input:nth-child(1){left: 100px; : 0} input:nth-child(2){left:200px;:50px;} input:nth-child(3){left:0px;:50px;} input:nth-child(4){left:100px;:100px;} input:nth-child(5){left:100px;:50px;} </style> <script type="text/javascript"> window.onload = function () { var x = 0, y = 0; var ul = document.getElementById('ul'); var inputs = document.getElementsByTagName('input'); for (var i = 0; i<inputs.length; i++){ inputs[i].onclick = run; } function run() { /渐变/ ul.style.webkitTransition = '-webkit-transform 3s linear'; ul.style.oTransition = '-o-transform 3s linear'; ul.style.transition = 'transform 3s linear'; /旋转的规则,就是x,y方向的deg改变/ if(inputs[0]==this){x+=90;} if(inputs[1]==this){y+=90;} if(inputs[2]==this){y-=90;} if(inputs[3]==this){x-=90;} if (inputs[4] == this){ x = 0; y = 0; ul.style.webkitTransition = '-webkit-transform .1s linear'; ul.style.oTransition = '-o-transform .1s linear'; ul.style.transition = 'transform .1s linear'; } ul.style.webkitTransform = 'rotateX(' + x + 'deg) rotateY(' + y + 'deg)'; ul.style.oTransform = 'rotateX(' + x + 'deg) rotateY(' + y + 'deg)'; ul.style.transform = 'rotateX(' + x + 'deg) rotateY(' + y + 'deg)'; } document.addEventListener('keydown', function(e){ ul.style.webkitTransition='-webkit-transform 3s linear'; switch(e.keyCode){ case 37: y -= 90; //左箭头 break; case 38: x += 90; //上箭头 break; case 39: y += 90; //下箭头 break; case 40: x -= 90; //右箭头 break; case 13: x=0; y=0; //回车 (当回车时,迅速转回初始状态) ul.style.webkitTransition='-webkit-transform 0.1s linear'; break; } ul.style.webkitTransform = "rotateX("+x+"deg) rotateY("+y+"deg)"; //变换效果(沿X轴和Y轴旋转) }, false);document.addEventListener("keydown", function (e) { ul.style.webkitTransition = '-webkit-transform 3s linear'; ul.style.oTransition = '-o-transform 3s linear'; ul.style.transition = 'transform 3s linear'; switch(e.keyCode){ case 37: } }) / function run(){ ul.style.webkitTransition='-webkit-transform 3s linear'; //设置立方体变换的属性、持续时间、动画类型 if(inputs[0]==this){x+=90;} if(inputs[1]==this){y+=90;} if(inputs[2]==this){y-=90;} if(inputs[3]==this){x-=90;} if(inputs[4]==this){x=0;y=0; ul.style.webkitTransition='-webkit-transform 0.1s linear';} //当点击重置按钮时,迅速转回到初始状态。 ul.style.webkitTransform = "rotateX("+x+"deg) rotateY("+y+"deg)"; //变换效果(沿X轴和Y轴旋转) }/ } </script> </head> <body> <ul id="ul"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> </ul> <div class="container"> </div> <div class="button"> <input type="button" value="上"> <input type="button" value="右"> <input type="button" value="左"> <input type="button" value="下"> <input type="button" value="重置"> </div> </body> </html>
上一篇:js+css3制作时钟特效
下一篇:移动端滑动插件Swipe教程
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程