CSS3+JavaScript實(shí)現(xiàn)翻頁(yè)幻燈片效果
先上效果圖
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{ margin: 0; padding: 0; } #content{ width: 500px; height: 300px; margin: 40px auto; position: relative; transform-style: preserve-3d; } #content>div{ width: 100%; height: 100%; position: absolute; transform-origin: center bottom; } #content img{ width: 100%; height: 100%; } #next{ position: absolute; top:190px; left: calc(33% - 60px); } #prev{ position: absolute; top: 190px; left: calc(68% + 30px); } @keyframes next{ //創(chuàng)建一個(gè)動(dòng)畫(huà)這是一個(gè)翻到下面的效果 from{ -wbelit-transform: perspective(1000px) rotateX(0deg); /* 開(kāi)始位置是 0°*/ opacity: 1; //初始透明為1 } to{ -webkit-transform: perspective(1000px) rotateX(-180deg); /*結(jié)束位置是 180°*/ opacity: 0; //結(jié)束透明為0 } } @keyframes prev{ //創(chuàng)建一個(gè)由上邊翻到上邊的動(dòng)畫(huà) 0%{ -webkit-transform: perspective(1000px) rotateX(180deg); /* 初始開(kāi)始位置 */ opacity:0; //初始為透明 } 57% { -webkit-transform: perspective(1000px) rotateX(-16deg); /* 動(dòng)畫(huà)進(jìn)行到 56% 的時(shí)候他為 -16° */ opacity:1; //透明已經(jīng)為1 了 } 66% { -webkit-transform: perspective(1000px) rotateX(14deg); /* 再回到 14° 的位置 */ } 74% { -webkit-transform: perspective(1000px) rotateX(-12deg); /* 再回到 -12°的位置 */ } 81% { -webkit-transform: perspective(1000px) rotateX(10deg); /* 再回到 10°的位置 */ } 87% { -webkit-transform: perspective(1000px) rotateX(-8deg); /* 再回到 -8°的位置 */ } 92% { -webkit-transform: perspective(1000px) rotateX(6deg); /* 再回到 6° 的位置 */ } 96% { -webkit-transform: perspective(1000px) rotateX(-4deg); /* 再回到 -4° 的位置 */ } 100% { -webkit-transform: perspective(1000px) rotateX(0deg); /* 最后回歸 0° */ }<br> } .next{ animation: next 1s ease 1 normal 0s; /* 執(zhí)行向下的動(dòng)畫(huà) */ transform: rotateX(-180deg); /* 因?yàn)槌跏嘉恢檬? 但當(dāng)你執(zhí)行完動(dòng)畫(huà)還會(huì)回到原位 所以它轉(zhuǎn)到哪里就把他設(shè)在哪里不要再讓它回去了 */ opacity: 0; } .prev{ animation: prev 1.2s ease 1 normal 0s; /* 執(zhí)行向上的動(dòng)畫(huà) */ transform: rotateX(0deg); /* 同上 */ opacity: 1; } </style> </head> <body> <button id="next">←</button><button id="prev">→</button> <div id="content"> <div class="prev"><img src="images/012.jpeg"></div> <!-- 設(shè)置默認(rèn)的第一頁(yè) --> <div class="next"><img src="images/017.jpeg"></div> <div class="next"><img src="images/020.jpeg"></div> <div class="next"><img src="images/027.jpeg"></div> <div class="next"><img src="images/0df3d7ca7bcb0a46ce09bc1e6e63f6246b60afe9.jpg"></div> </div> <script> window.onload=function(){ var next=document.getElementById("next"); var prev=document.getElementById("prev"); var content=document.getElementById("content"); var oDiv=content.getElementsByTagName("div"); var x=0; next.onclick=function(){ //當(dāng)向下翻頁(yè)時(shí) oDiv[x].setAttribute("class","next"); //第一個(gè)頁(yè) 設(shè)置class名讓他向下走去 x++ if(x>oDiv.length-1){ x=0 } oDiv[x].setAttribute("class","prev"); //++過(guò)后讓他的下一個(gè)頁(yè)面起來(lái) } prev.onclick=function(){ //同上只是++變-- oDiv[x].setAttribute("class","next"); x-- if(x<0){ x=oDiv.length-1 } oDiv[x].setAttribute("class","prev"); } } </script> </body> </html>
以上所述是小編給大家介紹的CSS3+JavaScript實(shí)現(xiàn)翻頁(yè)幻燈片效果,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- 移動(dòng)端翻頁(yè)插件dropload.js(支持Zepto和jQuery)
- js帶前后翻頁(yè)的圖片切換效果代碼分享
- js+css實(shí)現(xiàn)上下翻頁(yè)相冊(cè)代碼分享
- Js實(shí)現(xiàn)網(wǎng)頁(yè)鍵盤(pán)控制翻頁(yè)的方法
- jsp 使用jstl實(shí)現(xiàn)翻頁(yè)實(shí)例代碼
- Javascript表格翻頁(yè)效果的具體實(shí)現(xiàn)
- Javascript表格翻頁(yè)效果實(shí)現(xiàn)思路及代碼
- js實(shí)現(xiàn)翻頁(yè)后保持checkbox選中狀態(tài)的實(shí)現(xiàn)方法
- JavaScript 拖拽翻頁(yè)效果代碼
相關(guān)文章
JavaScript中的構(gòu)造函數(shù)和實(shí)例對(duì)象之間的關(guān)系(構(gòu)造器)
這篇文章主要介紹了JavaScript中的構(gòu)造函數(shù)和實(shí)例對(duì)象之間的關(guān)系(構(gòu)造器),需要的朋友可以參考下2023-05-05JavaScript判斷當(dāng)前時(shí)間是在某個(gè)時(shí)間點(diǎn)之前/之后
本文主要介紹了JavaScript判斷當(dāng)前時(shí)間是在某個(gè)時(shí)間點(diǎn)之前/之后,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07javascript解決IE6下hover問(wèn)題的方法
本文分享了一個(gè)小技巧:javascript解決IE6下hover問(wèn)題的方法,方法很實(shí)用,需要了解的朋友可以參考下2015-07-07JavaScript代碼執(zhí)行的先后順序問(wèn)題
今天就給大家介紹一個(gè)特別基礎(chǔ)的東西,javascript中函數(shù)的一點(diǎn)兒小知識(shí)之js代碼的執(zhí)行順序問(wèn)題,需要的朋友參考下吧2017-10-10js中hasOwnProperty的屬性及實(shí)例用法詳解
在本篇文章里小編給大家整理的是一篇關(guān)于js中hasOwnProperty的屬性及實(shí)例用法詳解內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)下。2021-11-11javascript權(quán)威指南 學(xué)習(xí)筆記之javascript數(shù)據(jù)類(lèi)型
JavaScript中允許使用三種基本數(shù)據(jù)類(lèi)型 數(shù)字,文本字符和布爾值。其中數(shù)字包括符點(diǎn)數(shù).此外,它還支持兩種小數(shù)據(jù)類(lèi)型 -null(空)和undefined(未定義),該兩種小數(shù)據(jù)類(lèi)型,它們各自只定義了一個(gè)值 。2011-09-09JavaScript 冒泡排序和選擇排序的實(shí)現(xiàn)代碼
本文通過(guò)實(shí)例代碼給大家介紹了js冒泡排序和選擇排序的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-09-09Javascript中的方法鏈(Method Chaining)介紹
這篇文章主要介紹了Javascript中的方法鏈(Method Chaining)介紹,本文講解了Javascript Method Chaining、Method Chaining 使用、Method Chaining VS prototype Chaining等內(nèi)容,需要的朋友可以參考下2015-03-03javascript設(shè)計(jì)模式 – 命令模式原理與用法實(shí)例分析
這篇文章主要介紹了javascript設(shè)計(jì)模式 – 命令模式,結(jié)合實(shí)例形式分析了javascript命令模式相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04