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+Ajax請求本地數(shù)據(jù)加載商品列表頁并跳轉(zhuǎn)詳情頁的實現(xiàn)方法
本文通過實例代碼給大家介紹了jQuery+Ajax請求本地數(shù)據(jù)加載商品列表頁并跳轉(zhuǎn)詳情頁,需要的朋友可以參考下2017-07-07
jQuery選擇器源碼解讀(四):tokenize方法的Expr.preFilter
這篇文章主要介紹了jQuery選擇器源碼解讀(四):tokenize方法的Expr.preFilter,本文用詳細的注釋解讀了tokenize方法的Expr.preFilter的實現(xiàn)源碼,需要的朋友可以參考下2015-03-03
Jquery給當(dāng)前頁或者跳轉(zhuǎn)后頁面的導(dǎo)航欄添加選中后樣式的實例
下面小編就為大家?guī)硪黄狫query給當(dāng)前頁或者跳轉(zhuǎn)后頁面的導(dǎo)航欄添加選中后樣式的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12
jQuery EasyUI API 中文文檔 - TreeGrid 樹表格使用介紹
jQuery EasyUI API 中文文檔 - TreeGrid 樹表格使用介紹,需要的朋友可以參考下。2011-11-11
jQuery .attr()和.removeAttr()方法操作元素屬性示例
本文為大家詳細介紹下如何使用jQuery的.attr()和.removeAttr()方法讀取,添加,修改,刪除元素的屬性,不會的朋友可以參考下哈,希望對大家有所幫助2013-07-07

