本文实例为大家分享了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>
效果图:
可用鼠标拖动。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
© 版权声明
THE END
暂无评论内容