jQuery實(shí)現(xiàn)寬屏圖片輪播實(shí)例教程
本文實(shí)例講述了jQuery實(shí)現(xiàn)寬屏圖片輪播實(shí)例教程。分享給大家供大家參考。具體如下:
運(yùn)行效果截圖如下:

引入jquery庫(kù)
<script src="js/jquery-1.9.1.min.js" type="text/javascript"></script>
構(gòu)建html
整個(gè)代碼分為三部分:
1、加載部分loadding ;
2、圖片部分,這里圖片只能是4張,有心的朋友再改良下吧;
3、TAB按鈕部分,當(dāng)然這里也只能是4個(gè)按鈕,也需要改進(jìn)。
<div class="gg" id="gg">
<div class="ggLoading">
<div class="ggLoading2"><em>精彩活動(dòng)載入中</em></div>
</div>
<div class="ggs">
<div class="ggBox" id="ggBox">
<a href="#" title="5月22日測(cè)試開(kāi)啟領(lǐng)報(bào)名資格" style="z-index: 3; opacity: 4;">
<img src="images/1.jpg" alt="" /></a>
<a href="#" title="首測(cè)世界的雕琢篇章開(kāi)啟">
<img src="images/2.jpg" alt="" /></a>
<a href="#" title="上古世紀(jì)游戲資料手冊(cè)">
<img src="images/3.jpg" alt="" /></a>
<a href="#" title="游戲四大特色揭曉">
<img src="images/4.jpg" alt="" /></a>
</div>
</div>
<div class="ggb">
<div class="ggBtns" id="ggBtns">
<a title="5月22日測(cè)試開(kāi)啟領(lǐng)報(bào)名資格" href='javascript:void(0)' class="ggOn"><em>5月22日測(cè)試開(kāi)啟領(lǐng)報(bào)名資格</em></a>
<a title="首測(cè)世界的雕琢篇章開(kāi)啟" href='javascript:void(0)'><em>首測(cè)世界的雕琢篇章開(kāi)啟</em></a>
<a title="上古世紀(jì)游戲資料手冊(cè)" href='javascript:void(0)'><em>上古世紀(jì)游戲資料手冊(cè)</em></a>
<a title="游戲四大特色揭曉" href='javascript:void(0)'><em>游戲四大特色揭曉</em></a>
</div>
</div>
</div>
CSS樣式
這里的CSS可以根據(jù)項(xiàng)目需求自定義,不必拘泥于下面的代碼,只要弄懂其中的原理就OK了。若你看不懂下面的CSS的話(huà)就惡補(bǔ)下吧,在此就不一一講解了。
.ggLoading, .ggLoading2 {
background-image: url(../images/nav.png);
}
.gg {
width: 100%;
height: 500px;
position: relative;
z-index: 1;
overflow: hidden;
margin: 0 auto;
background: #d3d3d3 url(../images/loading.jpg) repeat-x;
}
.ggLoading {
position: absolute;
left: 40%;
top: 200px;
width: 325px;
text-align: center;
height: 56px;
background-position: 0 -274px;
background-repeat: no-repeat;
line-height: 56px;
color: #9c9c9c;
}
.ggLoading2 {
width: 330px;
height: 56px;
background-position: 213px -330px;
background-repeat: no-repeat;
}
.ggLoading em {
font-weight: bold;
}
.ggs {
width: 200%;
height: 500px;
left: -50%;
top: 0;
position: absolute;
}
.ggBox {
width: 1920px;
height: 500px;
margin: 0 auto;
}
.ggBox a {
display: block;
width: 1920px;
height: 500px;
position: absolute;
z-index: 1;
opacity: 0.1;
}
.ggBox img {
display: block;
width: 1920px;
height: 500px;
}
.ggb {
position: absolute;
width: 100%;
left: 0;
bottom: 0;
height: 40px;
z-index: 4;
background-color: #32342e;
background-repeat: repeat-x;
background-position: 50% -40px;
}
.ggBtns {
width: 960px;
height: 40px;
margin: 0 auto;
border-left: 1px solid #090908;
border-right: 1px solid #6a6a60;
}
.ggBtns a {
float: left;
display: block;
width: 240px;
height: 40px;
text-align: center;
padding-top: 10px;
color: #848380;
font-size: 14px;
line-height: 40px;
background-position: 0 10px;
position: relative;
top: -10px;
outline: none;
background-repeat: no-repeat;
cursor: pointer;
}
.ggBtns a em {
display: block;
width: 210px;
height: 40px;
margin: 0 auto;
overflow: hidden;
}
.ggBtns a:hover {
color: #e7e7e7;
}
.ggBtns a:focus {
outline: none;
}
.ggBtns a.ggOn {
color: #e7e7e7;
background-position: 0 0;
}
.ggb, .ggBtns a {
background-image: url(../images/main.jpg);
}
a.ggOn {
background-image: url(../images/gg.png);
}
JS代碼
終于來(lái)到重點(diǎn)部分了,這部分的代碼不多,一起來(lái)看下吧。
$(function () {//文檔加載后執(zhí)行
//定義$con,$box,$btns,$i變量,autoChange自動(dòng)播放函數(shù),loop定時(shí)器。
var $con = $('#gg'), $box = $con.find('#ggBox'), $btns = $con.find('#ggBtns'), i = 0, autoChange = function () {
i += 1;//計(jì)數(shù)器+1
if (i === 4) { i = 0; }//如果計(jì)數(shù)器i等4就把i重置為0.
$btns.find('a:eq(' + i + ')').addClass('ggOn').siblings().removeClass('ggOn');
//找到TAB按鈕中的第i個(gè)a標(biāo)簽,為其加上ggOn的樣式,同時(shí)移除所有同級(jí)的a標(biāo)簽ggOn樣式
var curr = $box.find('a:eq(' + i + ')'), prev = curr.siblings();
//定義curr變量,并賦值為$box中當(dāng)前顯示圖片的a標(biāo)簽,定義prev變量,賦值為$box中除了當(dāng)前顯示圖片的A標(biāo)簽外的所有A標(biāo)簽。
prev.css('z-index', 2);//$box中除了當(dāng)前顯示圖片的A標(biāo)簽外的所有A標(biāo)簽的index值變?yōu)?,即向下移一層
curr.css('z-index', 3).animate({ //$box中當(dāng)前顯示圖片的a標(biāo)簽index值變?yōu)?,即向上移一層,然后使用jquery動(dòng)畫(huà)以150毫秒把透明度變?yōu)?,之后執(zhí)行匿名函數(shù)function。
'opacity': 1
}, 150, function () { //$box中除了當(dāng)前顯示圖片的A標(biāo)簽外的所有A標(biāo)簽的index值變?yōu)?,并把透明度變?yōu)?.1
prev.css({
'z-index': 1, 'opacity': 0.1
});
});
}, loop = setInterval(autoChange, 5000);//定義定時(shí)器,每5秒執(zhí)行一次autoChange函數(shù),達(dá)到自動(dòng)播放效果。
$con.hover(function () { //定義鼠標(biāo)懸浮與離開(kāi)事件
clearInterval(loop); //鼠標(biāo)懸浮時(shí)移除Loog定時(shí)器,即停止播放
}, function () {
loop = setInterval(autoChange, 5000); //鼠標(biāo)離開(kāi)時(shí)載放Loog定時(shí)器,繼續(xù)播放
});
$btns.find('a').click(function () {//定義tab按鈕事件
i = $(this).index() - 1; //tab按鈕中當(dāng)前A標(biāo)簽的index值-1,并賦值給i計(jì)數(shù)器
autoChange(); //調(diào)用切換方法切換圖片
});
});
不知親們看完以上的注釋?zhuān)涝砹藳](méi)有呢?其實(shí)整個(gè)代碼分為四個(gè)部分:
1、圖片切換
以i作為計(jì)數(shù)器,顯示當(dāng)前為i的圖片,其它圖片全部隱藏,給當(dāng)前為i的按鈕加上ggOn樣式,其它按鈕去除ggOn樣式,而每次調(diào)用切換函數(shù)時(shí)i自增1。
2、自動(dòng)播放
定義一個(gè)定時(shí)器loop,每5秒調(diào)用一次切換函數(shù)。
3、鼠標(biāo)hover事件
原來(lái)就是鼠標(biāo)懸浮時(shí)清除loop定時(shí)器,鼠標(biāo)離開(kāi)時(shí)載入loop定時(shí)器。
4、按鈕事件
綁定tab按鈕單擊事件,單擊后給i賦上當(dāng)前tab按鈕的index值-1,調(diào)用切換函數(shù)。
以上就是jquery實(shí)現(xiàn)圖片輪播的全部關(guān)鍵性代碼,希望大家仔細(xì)研究,教程中仍存在許多不足,希望大家予以改進(jìn)。
- 基于JQuery的實(shí)現(xiàn)圖片輪播效果(焦點(diǎn)圖)
- 基于jquery的圖片輪播 tab切換組件
- 12款經(jīng)典的白富美型—jquery圖片輪播插件—前端開(kāi)發(fā)必備
- jQuery圖片輪播的具體實(shí)現(xiàn)
- jquery圖片輪播插件仿支付寶2013版全屏圖片幻燈片
- 原生js和jquery實(shí)現(xiàn)圖片輪播特效
- 原生js和jquery實(shí)現(xiàn)圖片輪播淡入淡出效果
- Jquery代碼實(shí)現(xiàn)圖片輪播效果(一)
- jQuery超精致圖片輪播幻燈片特效代碼分享
- jquery圖片輪播特效代碼分享
- JQuery實(shí)現(xiàn)圖片輪播效果
- jQuery實(shí)現(xiàn)圖片輪播特效代碼分享
- jQuery圖片輪播滾動(dòng)切換代碼分享
- 超漂亮的jQuery圖片輪播特效
- 基于jQuery實(shí)現(xiàn)響應(yīng)式圓形圖片輪播特效
相關(guān)文章
jquery實(shí)現(xiàn)點(diǎn)擊TreeView文本父節(jié)點(diǎn)展開(kāi)/折疊子節(jié)點(diǎn)
今天客戶(hù)提出要點(diǎn)擊菜單(TreeView實(shí)現(xiàn)的)的父級(jí)節(jié)點(diǎn)時(shí),展開(kāi)節(jié)點(diǎn),很多新手朋友可能對(duì)此會(huì)很陌生,接下來(lái)介紹解決方法,感興趣的朋友可以了解下2013-01-01
關(guān)于jquery中全局函數(shù)each使用介紹
jquery 包含了兩個(gè) each 一個(gè)是 $().each 另一個(gè)是 $.each 區(qū)別就在于前一個(gè)是 jquery對(duì)象的內(nèi)置函數(shù) 而后一個(gè) 這是對(duì)象的遍歷函數(shù)2013-12-12
JQuery 插件模板 制作jquery插件的朋友可以參考下
JQuery 插件模板 制作jquery插件的朋友可以參考下2010-03-03
jquery文字填寫(xiě)自動(dòng)高度的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇jquery文字填寫(xiě)自動(dòng)高度的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11
對(duì)Jquery中的ajax再封裝,簡(jiǎn)化操作示例
這篇文章主要介是對(duì)Jquery中的ajax再封裝,簡(jiǎn)化操作示例進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02
jQuery實(shí)現(xiàn)垂直半透明手風(fēng)琴特效代碼分享
這是一款jquery hover抽屜式導(dǎo)航圖片展開(kāi)收縮切換特效代碼,用戶(hù)還可以自定義對(duì)應(yīng)幻燈片的標(biāo)題與文字說(shuō)明,是一款非常實(shí)用的幻燈片特效源碼。2015-08-08
jQuery實(shí)現(xiàn)簡(jiǎn)單滾動(dòng)動(dòng)畫(huà)效果
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)簡(jiǎn)單滾動(dòng)動(dòng)畫(huà)效果的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-04-04
js實(shí)現(xiàn)圖片放大縮小功能后進(jìn)行復(fù)雜排序的方法
這是一個(gè)基于jquery的圖片效果,它的作用是:當(dāng)圖片點(diǎn)擊變大(變小)時(shí),其它圖片按照一定的規(guī)則進(jìn)行排序運(yùn)動(dòng)2012-11-11

