jQuery實現(xiàn)帶3D切割效果的輪播圖功能示例【附源碼下載】
本文實例講述了jQuery實現(xiàn)帶3D切割效果的輪播圖。分享給大家供大家參考,具體如下:
這是一個使用css3+jQuery實現(xiàn)的輪播圖效果,以前還沒接觸css3時,覺得效果挺酷炫的,但是實現(xiàn)挺復(fù)雜的,今天研究了一下,發(fā)現(xiàn)特別簡單,稍微動用一下空間想象力就好了,下面時效果圖
1.這是html代碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>3D切割輪播圖</title> </head> <body> <div class="box"> <ul class="images-box"> //每個li由4個span組成,剛好組成正方體前、后、上、下 四個面, <li> <span></span> <span></span> <span></span> <span></span> </li> <li> <span></span> <span></span> <span></span> <span></span> </li> <li> <span></span> <span></span> <span></span> <span></span> </li> <li> <span></span> <span></span> <span></span> <span></span> </li> <li> <span></span> <span></span> <span></span> <span></span> </li> </ul> //左右切換按鈕 <div> <a href="javascript:;" rel="external nofollow" rel="external nofollow" class="left"><</a> <a href="javascript:;" rel="external nofollow" rel="external nofollow" class="right">></a> </div> </div> <script src="js/jquery-1.12.4.js"></script> <script src="js/index.js"></script> </body> </html>
2.這是css代碼
*{ padding:0; margin: 0; } .box{ width: 600px; height: 300px; border: 1px solid #ccc; margin: 150px auto; position: relative; } .box .left, .box .right{ position: absolute; top: 50%; width: 40px; height: 40px; line-height: 40px; margin-top: -20px; text-align: center; text-decoration:none; font-weight: bold; font-size: 40px; color: #ccc; background-color: rgba(255,255,255,.2); } .box .right{ right: 0; } .images-box{ width: 100%; height: 100%; list-style: none; } .images-box li { width: 120px; height: 100%; float: left; position: relative; /*使被轉(zhuǎn)換的子元素保留其 3D 轉(zhuǎn)換*/ transform-style: preserve-3d; transition:all 6s; /*控制旋轉(zhuǎn)時間*/ } .images-box li span{ width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: url("images/1.jpg")no-repeat ; } /*拼接立體容器,每個面使用不同的背景圖*/ .box .images-box li span:nth-child(1){ background-image: url("images/1.jpg"); transform: translateZ(150px); } .box .images-box li span:nth-child(2){ background-image: url("images/2.jpg"); transform: rotateX(90deg) translateZ(150px); } .box .images-box li span:nth-child(3){ background-image: url("images/3.jpg"); transform: rotateX(180deg) translateZ(150px); } .box .images-box li span:nth-child(4){ background-image: url("images/4.jpg"); transform: rotateX(270deg) translateZ(150px); } /*拼接背景圖*/ .images-box li:nth-child(1) span{ background-position: 0 0; } .images-box li:nth-child(2) span{ background-position: -120px 0; } .images-box li:nth-child(3) span{ background-position: -240px 0; } .images-box li:nth-child(4) span{ background-position: -360px 0; } .images-box li:nth-child(5) span{ background-position: -480px 0; }
$(function () { var index=0; //旋轉(zhuǎn)角度記錄 var flag=true; $('.left').on('click',function () { if(!flag) return false; flag=false; index--; var angle=-index*90; $('.images-box li').css('transform','rotateX('+angle+'deg)').each(function (i,item) { // 每個模塊延時不同,即可看出切換3d效果 $(this).css('transition-delay',i*0.25+'s'); }); }); $('.right').on('click',function () { if(!flag) return false; flag=false; index++; var angle=-index*90; $('.images-box li').css('transform','rotateX('+angle+'deg)').each(function (i,item) { $(this).css('transition-delay',i*0.25+'s'); }); }); //節(jié)流閥,防止連續(xù)、快速、多次點擊 $('li:last').on('transitionend',function () { flag=true; }); }) </script>
這是頁面所用的圖片
1.jpg
2.jpg
3.jpg
4.jpg
完整代碼點擊此處本站下載。
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery圖片操作技巧大全》、《jQuery表格(table)操作技巧匯總》、《jQuery切換特效與技巧總結(jié)》、《jQuery擴展技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery常見經(jīng)典特效匯總》及《jquery選擇器用法總結(jié)》
希望本文所述對大家jQuery程序設(shè)計有所幫助。
相關(guān)文章
jQuery動畫出現(xiàn)連續(xù)觸發(fā)、滯后反復(fù)執(zhí)行的解決方法
這篇文章主要介紹了jQuery動畫出現(xiàn)連續(xù)觸發(fā)、滯后反復(fù)執(zhí)行的解決方法,實例分析了針對jQuery中slideUp、slideDown、animate等動畫運用時出現(xiàn)的滯后反復(fù)執(zhí)行等問題的解決方法,需要的朋友可以參考下2015-01-01基于jQuery的試卷自動排版系統(tǒng)實現(xiàn)代碼
題目提干、選擇題的選項、說明文字可以包含多媒體信息(文字、圖片、列表、表格、視頻等等……)。2011-01-01jquery radio 動態(tài)控制選中失效問題的解決方法
下面小編就為大家分享一篇jquery radio 動態(tài)控制選中失效問題的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02jQuery實現(xiàn)IE輸入框完成placeholder標(biāo)簽功能的方法
這篇文章主要介紹了jQuery實現(xiàn)IE輸入框完成placeholder標(biāo)簽功能的方法,涉及jQuery事件響應(yīng)及針對頁面元素屬性的動態(tài)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2017-09-09