国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js實現(xiàn)可旋轉(zhuǎn)的立方體模型

2019-11-20 08:44:27
字體:
供稿:網(wǎng)友

這是一個簡單的立方體應(yīng)用,他是很多立方旋轉(zhuǎn)變換的基礎(chǔ),例如實現(xiàn)3D輪播圖的實現(xiàn)等。

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>可旋轉(zhuǎn)立方體效果</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;*/    }    /*繞中心旋轉(zhuǎn),坐標(biāo)軸會隨旋轉(zhuǎn)而旋轉(zhuǎn)*/    li{width:200px;height:200px;position:absolute;text-align:center;line-height:200px;font-size:80px;font-weight:bold;color:#fff;}    /*構(gòu)造六個面*/    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; top: 0}    input:nth-child(2){left:200px;top:50px;}    input:nth-child(3){left:0px;top:50px;}    input:nth-child(4){left:100px;top:100px;}    input:nth-child(5){left:100px;top: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';        /*旋轉(zhuǎn)的規(guī)則,就是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;  //回車 (當(dāng)回車時,迅速轉(zhuǎn)回初始狀態(tài))            ul.style.webkitTransition='-webkit-transform 0.1s linear';            break;        }        ul.style.webkitTransform = "rotateX("+x+"deg) rotateY("+y+"deg)"; //變換效果(沿X軸和Y軸旋轉(zhuǎn))      }, 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'; //設(shè)置立方體變換的屬性、持續(xù)時間、動畫類型        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';}  //當(dāng)點擊重置按鈕時,迅速轉(zhuǎn)回到初始狀態(tài)。        ul.style.webkitTransform = "rotateX("+x+"deg) rotateY("+y+"deg)";  //變換效果(沿X軸和Y軸旋轉(zhuǎn))      }*/    }  </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>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 右玉县| 仪征市| 白水县| 天门市| 汉中市| 富宁县| 周口市| 北宁市| 曲水县| 潞城市| 高阳县| 永城市| 宜兰市| 柳河县| 清徐县| 池州市| 寿光市| 凤翔县| 凤城市| 怀集县| 屏山县| 中卫市| 碌曲县| 开江县| 张家港市| 胶南市| 台湾省| 崇州市| 交城县| 望谟县| 马边| 锦州市| 桐柏县| 梓潼县| 谢通门县| 上杭县| 石狮市| 饶阳县| 长寿区| 樟树市| 教育|