這篇文章給大家分享的是有關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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。