js實現(xiàn)3D圖片展示效果
更新時間:2017年03月09日 08:32:38 作者:shangpudxd
本文主要介紹了js實現(xiàn)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>
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
js傳遞數(shù)組參數(shù)到后臺controller的方法
下面小編就為大家分享一篇js傳遞數(shù)組參數(shù)到后臺controller的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03重寫javascript中window.confirm的行為
javascript中window.confirm這個方法很好用,可以彈出一個確認對話框.但有一個問題是,它默認的情況下,將選中那個"確定"按鈕,當用戶有意無意的在鍵盤回車,就是說按下Enter鍵的時候,就會自動返回true。在很多時候其實我們不希望這樣2012-10-10Javascript ES6中對象類型Sets的介紹與使用詳解
這篇文章主要給大家介紹了關(guān)于Javascript ES6中Sets的介紹與使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-07-07JS JSON對象轉(zhuǎn)為字符串的簡單實現(xiàn)方法
這篇文章主要介紹了JS中JSON對象轉(zhuǎn)為字符串的簡單實現(xiàn)方法。需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11