您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關js如何實現3D圖片展示效果的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
點擊左上角的按鈕前后切換
效果圖:
代碼如下:
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>Title</title> <style> *{margin:0; padding:0; list-style:none;} ul{ width:300px; height:300px; margin:100px auto; position:relative; -webkit-transform-style:preserve-3d; perspective:800px; } ul li{ position:absolute; top:0; left:0; width:100%; height:100%; text-align:center; line-height:300px; font-size:50px; background:#399; border:1px solid #000; opacity:0; } .l2{ opacity:0; -webkit-transform: translate(-280px,0) rotateY(45deg); z-index:3; } .l1{ opacity:1; -webkit-transform: translate(-220px,0) rotateY(45deg); z-index:4; } .cur{ opacity:1; -webkit-transform:translateZ(50px); z-index:5; } .r1{ opacity:1; -webkit-transform: translate(220px,0) rotateY(-45deg); z-index:4; } .r2{ opacity:0; -webkit-transform: translate(280px,0) rotateY(-45deg); z-index:3; } </style> <script> window.onload = function(){ var oPrev = document.querySelector('.prev_btn'); var oNext = document.querySelector('.next_btn'); var aLi = document.querySelectorAll('ul li'); var aClass = []; for(var i=0;i<aLi.length;i++){ aClass[i] = aLi[i].className; } var bOk = false; oPrev.onclick = function(){ if(bOk)return; bOk = true; aClass.push(aClass.shift()); change(); }; oNext.onclick = function(){ if(bOk)return; bOk = true; aClass.unshift(aClass.pop()); change(); }; function change(){ for(var i=0;i<aLi.length;i++){ aLi[i].style.WebkitTransition = '.5s all ease'; aLi[i].className = aClass[i]; } var oCur = document.querySelector('.cur'); function tranEnd(){ oCur.removeEventListener('transitionend',tranEnd,false); bOk = false; } oCur.addEventListener('transitionend',tranEnd,false); } }; </script> </head> <body> <input type="button" value="prev" class="prev_btn" /> <input type="button" value="next" class="next_btn" /> <ul> <li class="l2">0</li> <li class="l1">1</li> <li class="cur">2</li> <li class="r1">3</li> <li class="r2">4</li> <li>5</li> <li>6</li> <li>7</li> <li>8</li> <li>9</li> <li>10</li> <li>11</li> <li>12</li> <li>13</li> </ul> </body> </html>
感謝各位的閱讀!關于“js如何實現3D圖片展示效果”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。