AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > JavaScript

js实现3D图片环展示效果

51自学网 http://www.wanshiok.com
js实现3d展示效果,js,3d展示

可对整体进行拖拽

效果图:

代码如下:

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Title</title>  <style>    *{padding:0;margin:0; font-family: "Proxima Nova","proxima-nova","Helvetica Neue",Helvetica,Arial,sans-serif !important;}    html body{overflow: hidden;}    body{background:#ccc;}    .box{width:140px; height:200px; -webkit-transform-style:preserve-3d; -webkit-transform: perspective(800px) rotateY(0deg) rotateX(0deg); position:relative; margin:400px auto;}    .box span{width:140px; height:200px; position: absolute; background:deepskyblue; font-size:20px;      text-align: center; line-height:200px; color:white;}  </style>  <script>    function r2n(n){      return n*Math.PI/180    }    window.onload=function(){      var oBox=document.getElementsByClassName('box')[0];      var aS=document.getElementsByTagName('span');      for(var i=0;i<aS.length;i++){        aS[i].style.WebkitTransition='1s all ease '+(aS.length-i)*.1+'s';        aS[i].style.WebkitTransform='rotateY('+i*360/aS.length+'deg)'+' translateZ(500px) '      }      var pos=[];      var x=0;      var y=0;      var timer=null;      var timer2=null;      document.onmousedown=function(ev){        timer=setInterval(function(){          pos[0]=pos[2];          pos[1]=pos[3];          pos[2]=x;          pos[3]=y;        },30);        var disx=ev.pageX-x;        var disy=ev.pageY-y;        document.onmousemove=function(ev){          x=ev.pageX-disx;          y=ev.pageY-disy;          oBox.style.WebkitTransform=' perspective(800px)'+' rotateY('+x/3+'deg)'+'rotateX('+-y/3+'deg)';        };        document.onmouseup=function(){          clearInterval(timer);          var speedx=pos[2]-pos[0];          var speedy=pos[3]-pos[1];          timer2=setInterval(function(){            x+=speedx;            y+=speedy;            oBox.style.WebkitTransform=' perspective(800px)'+' rotateY('+x/3+'deg)'+'rotateX('+-y/3+'deg)';            speedx*=0.94;            speedy*=0.94;            if(Math.abs(speedx)<1)speedx=0;            if(Math.abs(speedy)<1)speedy=0;            if(speedx==0&&speedy==0){              clearInterval(timer2)            }          },30);          document.onmousemove=null;          document.onmouseup=null;        }      };      return false    }  </script></head><body><div class="box">  <span>1</span>  <span>2</span>  <span>3</span>  <span>4</span>  <span>5</span>  <span>6</span>  <span>7</span>  <span>8</span>  <span>9</span>  <span>10</span>  <span>11</span>  <span>12</span></div></body></html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持wanshiok.com!


js实现3d展示效果,js,3d展示  
上一篇:bootstrap实现的自适应页面简单应用示例  下一篇:Vue监听数组变化源码解析