基于jquery實(shí)現(xiàn)鼠標(biāo)滾輪驅(qū)動(dòng)的圖片切換效果
jQuery可以制作出與Flash媲美的動(dòng)畫(huà)效果,這點(diǎn)絕對(duì)毋庸置疑,本文將通過(guò)實(shí)例演示一個(gè)基于鼠標(biāo)滾輪驅(qū)動(dòng)的圖片切換效果。

本例實(shí)現(xiàn)的效果:
鼠標(biāo)滾輪滾動(dòng)時(shí)圖片進(jìn)行切換。
支持鍵盤(pán)方向鍵實(shí)現(xiàn)圖片切換效果。
支持點(diǎn)擊圖片切換,支持點(diǎn)擊當(dāng)前圖片鏈接。
進(jìn)度條滑塊展示圖片圖片數(shù)量進(jìn)度。
XHTML
<div class="demo"> <div id="imageflow"> <div id="loading"><img src="images/loader.gif" alt="loading" /></div> <div id="captions"></div> <div id="images"> <img src="images/s1.jpg" alt="image1" /> <img src="images/s2.jpg" alt="image2" /> <img src="images/s3.jpg" alt="image3" /> <img src="images/s4.jpg" alt="image4" /> </div> <div id="scrollbar"> <div id="slider"></div> </div> </div> </div>
div.demo是最外面的一層,包含了整個(gè)滾動(dòng)效果所需的所有元素。#imageflow是必需的,且與其內(nèi)部包含的元素的ID名稱不能修改,如確實(shí)要修改,就要先定義或直接修改JS代碼了。#loading用來(lái)裝載一個(gè)加載動(dòng)畫(huà)的圖片,當(dāng)然你也可以直接寫(xiě)成"loading"或其他文字。#captions用來(lái)顯示圖片的標(biāo)題。#images放置所要滾動(dòng)切換的圖片,數(shù)量不限。#scrollbar就是展示圖片的進(jìn)度條。#slider是一個(gè)滑塊,當(dāng)切換圖片時(shí),滑塊會(huì)滑動(dòng)到相應(yīng)的位置,以展示圖片數(shù)量的位置。
CSS
.demo { width:860px; height:300px; margin:20px auto; position:relative; background:#e8f5fe; overflow:hidden }
#images { margin:20px 0 0 60px; width:860px }
#images img { position:absolute; margin-top:-160px }
#loading { margin:0; color:#fff; text-align:center }
#loading img { position:ralative; margin:0 }
#captions { position:relative; height:24px; line-height:24px; top:100px; left:320px; background:url(images/cap_bg.png) no-repeat center center; color:#fff; font-weight:bold; text-align:center; z-index:10000 }
#scrollbar { position:relative; top:-100px; height:2px; z-index:10001 background:#abcd3a url(images/scroll.gif) repeat-x;
}
#slider { position:absolute; width:15px; height:4px; margin:-1px 0 0 -1px; background:url(images/bar.gif) no-repeat; z-index:10002 }
CSS是整個(gè)效果實(shí)現(xiàn)的關(guān)鍵部分,如果CSS控制不好,將得不到你要的效果。
.demo設(shè)置了寬度和高度,并設(shè)置position:relative和overflow:hidden,目的是為了讓鼠標(biāo)滑輪滾動(dòng)作用的范圍限制在.demo里。#images設(shè)置了margin值,并對(duì)內(nèi)部的img設(shè)置了相對(duì)定位。#captions設(shè)置了用來(lái)顯示圖片標(biāo)題的樣式,注意我使用半透明的圖片cap_bg.png作為背景圖片,在IE6下不支持透明的png圖片,所以你要進(jìn)行相關(guān)的處理。接下來(lái)看滾動(dòng)進(jìn)度條和滑塊的設(shè)置,都運(yùn)用的定位和深度設(shè)置,為何要這樣設(shè)置,只有大家去慢慢測(cè)試才會(huì)知道其中的奧妙。
引入jquery庫(kù)和滑動(dòng)js文件
<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/imageflow.js"></script>
所有的js動(dòng)作都在imageflow.js完成,我只做了略微的改動(dòng),大家可以直接使用。
現(xiàn)在可以看到效果了吧。但是還有問(wèn)題:
圖片連接地址如何獲?。?/strong>
最終的效果應(yīng)該是點(diǎn)擊當(dāng)前展示的圖片時(shí),會(huì)連接到一個(gè)頁(yè)面,用來(lái)展示該圖片相關(guān)的詳細(xì)信息。那么這個(gè)鏈接地址如何獲取,大概在第252行開(kāi)始有這樣兩行代碼:
image.url = image.getAttribute("longdesc");
image.ondblclick = function() { document.location = this.url; }
可以看出,圖片的鏈接地址來(lái)源于它的屬性:longdesc,當(dāng)單擊圖片的時(shí)候,頁(yè)面將會(huì)跳轉(zhuǎn)到相應(yīng)的地址頁(yè)面。好現(xiàn)在我們回到剛開(kāi)始的XHTML代碼,只需給每張圖片指定longdesc屬性,并將值設(shè)為對(duì)應(yīng)的網(wǎng)頁(yè)地址。如:
<img src="images/s1.jpg" alt="image1" longdesc="#" />
現(xiàn)在,任務(wù)算是完成了??赐瓯纠銜?huì)發(fā)現(xiàn),你根本不需要些一句jquery代碼,因?yàn)閕mageflow都已經(jīng)完成了所有的操作代碼。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
- JQuery實(shí)現(xiàn)鼠標(biāo)滾輪滑動(dòng)到頁(yè)面節(jié)點(diǎn)
- 基于jquery的當(dāng)鼠標(biāo)滾輪到最底端繼續(xù)加載新數(shù)據(jù)思路分享(多用于微博、空間、論壇 )
- jQuery實(shí)現(xiàn)鼠標(biāo)滾輪動(dòng)態(tài)改變樣式或效果
- jquery橫向縱向鼠標(biāo)滾輪全屏切換
- jQuery實(shí)現(xiàn)等比例縮放大圖片讓大圖片自適應(yīng)頁(yè)面布局
- jquery 圖片預(yù)加載 自動(dòng)等比例縮放插件
- 用jquery實(shí)現(xiàn)等比例縮放圖片效果插件
- jquery實(shí)現(xiàn)圖片按比例縮放示例
- JQuery 圖片延遲加載并等比縮放插件
- jQuery圖片預(yù)加載 等比縮放實(shí)現(xiàn)代碼
- 基于jquery實(shí)現(xiàn)圖片相關(guān)操作(重繪、獲取尺寸、調(diào)整大小、縮放)
- jQuery實(shí)現(xiàn)的鼠標(biāo)滾輪控制圖片縮放功能實(shí)例
相關(guān)文章
關(guān)于錨點(diǎn)跳轉(zhuǎn)及jQuery下相關(guān)操作與插件
錨點(diǎn)嘛,業(yè)余點(diǎn)的解釋就是可以讓頁(yè)面定位到某個(gè)位置的點(diǎn)。在高度較高的頁(yè)面中經(jīng)常見(jiàn)到2012-10-10
jquery的父子兄弟節(jié)點(diǎn)查找示例代碼
這篇文章主要介紹了jquery的父子兄弟節(jié)點(diǎn)的查找方法,需要的朋友可以參考下2014-03-03
jQuery-serialize()輸出序列化form表單值的方法
jQuery-serialize()輸出序列化表單值在工作中很常見(jiàn)也很實(shí)用,于是本人搜集整理了一些,需要了解的朋友可以詳細(xì)參考下2012-12-12
jquery zTree異步加載簡(jiǎn)單實(shí)例講解
這篇文章主要為大家詳細(xì)介紹了jquery zTree異步加載簡(jiǎn)單實(shí)例,ztree采用了延遲加載技術(shù),上萬(wàn)節(jié)點(diǎn)輕松加載,即使在 IE6 下也能基本做到秒殺,感興趣的小伙伴們可以參考一下2016-02-02
JQuery實(shí)現(xiàn)電梯導(dǎo)航效果
這篇文章主要為大家詳細(xì)介紹了JQuery實(shí)現(xiàn)電梯導(dǎo)航效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
jquery實(shí)現(xiàn)垂直無(wú)限輪播的方法分析
這篇文章主要介紹了jquery實(shí)現(xiàn)垂直無(wú)限輪播的方法,結(jié)合實(shí)例形式分析了jQuery無(wú)限輪播相關(guān)界面布局、樣式與頁(yè)面元素動(dòng)態(tài)操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-07-07
jquery實(shí)現(xiàn)預(yù)覽提交的表單代碼分享
這篇文章主要介紹了jquery實(shí)現(xiàn)預(yù)覽提交的表單代碼,需要的朋友可以參考下2014-05-05
animate 實(shí)現(xiàn)滑動(dòng)切換效果【實(shí)例代碼】
下面小編就為大家?guī)?lái)一篇animate 實(shí)現(xiàn)滑動(dòng)切換效果【實(shí)例代碼】。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05

