温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-06-21 12:28:36 来源:亿速云 阅读:193 作者:小新 栏目:web开发

这篇文章给大家分享的是有关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>

感谢各位的阅读!关于“js如何实现3D图片环展示效果”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

js
AI