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>精彩活動載入中</em></div> </div> <div class="ggs"> <div class="ggBox" id="ggBox"> <a href="#" title="5月22日測試開啟領(lǐng)報(bào)名資格" style="z-index: 3; opacity: 4;"> <img src="images/1.jpg" alt="" /></a> <a href="#" title="首測世界的雕琢篇章開啟"> <img src="images/2.jpg" alt="" /></a> <a href="#" title="上古世紀(jì)游戲資料手冊"> <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日測試開啟領(lǐng)報(bào)名資格" href='javascript:void(0)' class="ggOn"><em>5月22日測試開啟領(lǐng)報(bào)名資格</em></a> <a title="首測世界的雕琢篇章開啟" href='javascript:void(0)'><em>首測世界的雕琢篇章開啟</em></a> <a title="上古世紀(jì)游戲資料手冊" href='javascript:void(0)'><em>上古世紀(jì)游戲資料手冊</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自動播放函數(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í)移除所有同級的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動畫以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á)到自動播放效果。 $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、自動播放
定義一個(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圖片輪播滾動切換代碼分享
- 超漂亮的jQuery圖片輪播特效
- 基于jQuery實(shí)現(xiàn)響應(yīng)式圓形圖片輪播特效
相關(guān)文章
jQuery mobile類庫使用時(shí)加載導(dǎo)航歷史的方法簡介
這篇文章主要介紹了jQuery mobile開發(fā)中加載導(dǎo)航歷史的方法,jQuery mobile是jQuery針對移動設(shè)備開發(fā)的JavaScript庫,需要的朋友可以參考下2015-12-12jquery實(shí)現(xiàn)背景墻聚光燈效果示例分享
這篇文章主要介紹了jquery實(shí)現(xiàn)背景墻聚光燈效果示例,需要的朋友可以參考下2014-03-03jQuery點(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ā)人員自己動手設(shè)計(jì)2012-05-05jquery實(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-08ff下JQuery無法監(jiān)聽input的keyup事件的解決方法
這篇文章主要介紹了ff下JQuery無法監(jiān)聽input的keyup事件的解決方法。需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12分析了一下JQuery中的extend方法實(shí)現(xiàn)原理
這篇文章主要介紹了通過jQuery.extend的源碼分析了一下JQuery中的extend方法實(shí)現(xiàn)原理以及使用方式,非常的詳細(xì),這里推薦給大家,有需要的小伙伴來參考下吧。2015-02-02jQuery UI AutoComplete 自動完成使用小記
jQuery UI AutoComplete 自動完成使用小記,使用jquery的朋友實(shí)現(xiàn)搜索自動完成等功能的朋友可以參考下。2010-08-08jQuery實(shí)現(xiàn)標(biāo)簽子元素的添加和賦值方法
下面小編就為大家分享一篇jQuery實(shí)現(xiàn)標(biāo)簽子元素的添加和賦值方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02jQuery easyui datagrid動態(tài)查詢數(shù)據(jù)實(shí)例講解
接下來將從前臺提交查詢條件,從MSSQL返回json數(shù)據(jù)的一個(gè)事例來講解一下datagrid動態(tài)查詢數(shù)據(jù),感興趣的你可不要錯(cuò)過了哈,希望本文可以幫助到你2013-02-02