js實現(xiàn)3D圖片環(huán)展示效果
更新時間:2017年03月09日 14:08:59 作者:shangpudxd
本文主要介紹了js實現(xiàn)3D圖片環(huán)展示效果的實例,具有很好的參考價值。下面跟著小編一起來看下吧
可對整體進行拖拽
效果圖:
代碼如下:
<!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>
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
基于bootstrap插件實現(xiàn)autocomplete自動完成表單
這篇文章主要介紹了基于bootstrap插件實現(xiàn)autocomplete自動完成表單的相關(guān)資料,感興趣的朋友可以參考一下2016-05-05javascript 動態(tài)改變層的Z-INDEX的代碼style.zIndex
javascript 動態(tài)改變層的Z-INDEX的代碼style.zIndex...2007-08-08JavaScript 語言基礎(chǔ)知識點總結(jié)(思維導圖)
這篇文章通過思維導圖格式總結(jié)了JavaScript 語言基礎(chǔ)知識點,想要學習js的朋友可以參考下2013-11-11bootstrap+jQuery實現(xiàn)的動態(tài)進度條功能示例
這篇文章主要介紹了bootstrap+jQuery實現(xiàn)的動態(tài)進度條功能,結(jié)合完整實例形式分析了bootstrap+jQuery實現(xiàn)動態(tài)進度條的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-05-05設(shè)置jsf的選擇框h:selectOneMenu為不可編輯狀態(tài)的方法
本文為大家詳細介紹下如何設(shè)置jsf的選擇框h:selectOneMenu為不可編輯狀態(tài),具體實現(xiàn)代碼如下,希望對大家有所幫助2014-01-01