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

引入jquery庫
<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è)試開啟領(lǐng)報(bào)名資格" style="z-index: 3; opacity: 4;">
<img src="images/1.jpg" alt="" /></a>
<a href="#" title="首測(cè)世界的雕琢篇章開啟">
<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è)試開啟領(lǐng)報(bào)名資格" href='javascript:void(0)' class="ggOn"><em>5月22日測(cè)試開啟領(lǐng)報(bào)名資格</em></a>
<a title="首測(cè)世界的雕琢篇章開啟" href='javascript:void(0)'><em>首測(cè)世界的雕琢篇章開啟</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的話就惡補(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代碼
終于來到重點(diǎn)部分了,這部分的代碼不多,一起來看下吧。
$(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)畫以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)懸浮與離開事件
clearInterval(loop); //鼠標(biāo)懸浮時(shí)移除Loog定時(shí)器,即停止播放
}, function () {
loop = setInterval(autoChange, 5000); //鼠標(biāo)離開時(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)用切換方法切換圖片
});
});
不知親們看完以上的注釋,知道原理了沒有呢?其實(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事件
原來就是鼠標(biāo)懸浮時(shí)清除loop定時(shí)器,鼠標(biāo)離開時(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圖片輪播插件—前端開發(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 mobile類庫使用時(shí)加載導(dǎo)航歷史的方法簡介
這篇文章主要介紹了jQuery mobile開發(fā)中加載導(dǎo)航歷史的方法,jQuery mobile是jQuery針對(duì)移動(dòng)設(shè)備開發(fā)的JavaScript庫,需要的朋友可以參考下2015-12-12
jquery實(shí)現(xiàn)背景墻聚光燈效果示例分享
這篇文章主要介紹了jquery實(shí)現(xiàn)背景墻聚光燈效果示例,需要的朋友可以參考下2014-03-03
jQuery點(diǎn)擊導(dǎo)航欄選中更換樣式的實(shí)現(xiàn)代碼
這篇文章主要介紹了jQuery點(diǎn)擊導(dǎo)航欄選中更換樣式的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-01-01
學(xué)習(xí)從實(shí)踐開始之jQuery插件開發(fā) 菜單插件開發(fā)
從軟件到網(wǎng)站,菜單可以說是無處不在。在傳統(tǒng)應(yīng)用軟件開發(fā)中,一般都有現(xiàn)成的控件可以使用;但是在網(wǎng)頁開發(fā)時(shí),基本上要靠開發(fā)人員自己動(dòng)手設(shè)計(jì)2012-05-05
jquery實(shí)現(xiàn)點(diǎn)擊查看更多內(nèi)容控制段落文字展開折疊效果
這篇文章主要介紹了jquery實(shí)現(xiàn)點(diǎn)擊查看更多內(nèi)容控制段落文字展開折疊效果,涉及jquery中fadeIn與fadeOut實(shí)現(xiàn)折疊與展開頁面元素的功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-08-08
ff下JQuery無法監(jiān)聽input的keyup事件的解決方法
這篇文章主要介紹了ff下JQuery無法監(jiān)聽input的keyup事件的解決方法。需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-12-12
分析了一下JQuery中的extend方法實(shí)現(xiàn)原理
這篇文章主要介紹了通過jQuery.extend的源碼分析了一下JQuery中的extend方法實(shí)現(xiàn)原理以及使用方式,非常的詳細(xì),這里推薦給大家,有需要的小伙伴來參考下吧。2015-02-02
jQuery UI AutoComplete 自動(dòng)完成使用小記
jQuery UI AutoComplete 自動(dòng)完成使用小記,使用jquery的朋友實(shí)現(xiàn)搜索自動(dòng)完成等功能的朋友可以參考下。2010-08-08
jQuery實(shí)現(xiàn)標(biāo)簽子元素的添加和賦值方法
下面小編就為大家分享一篇jQuery實(shí)現(xiàn)標(biāo)簽子元素的添加和賦值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-02-02
jQuery easyui datagrid動(dòng)態(tài)查詢數(shù)據(jù)實(shí)例講解
接下來將從前臺(tái)提交查詢條件,從MSSQL返回json數(shù)據(jù)的一個(gè)事例來講解一下datagrid動(dòng)態(tài)查詢數(shù)據(jù),感興趣的你可不要錯(cuò)過了哈,希望本文可以幫助到你2013-02-02

