JavaScript實(shí)現(xiàn)鼠標(biāo)滾輪控制頁面圖片切換功能示例
本文實(shí)例講述了JavaScript實(shí)現(xiàn)鼠標(biāo)滾輪控制頁面圖片切換功能。分享給大家供大家參考,具體如下:
鼠標(biāo)上的滾輪是一個(gè)不錯(cuò)的東東,為什么這么說,因?yàn)樗軒椭覀兛焖俚臑g覽網(wǎng)頁,快速的進(jìn)行長篇文章的閱讀。對(duì)于web前端的我們來說又怎么能不注重這個(gè)鼠標(biāo)滾輪呢,那么它能如何讓用戶更好的瀏覽網(wǎng)頁呢?
最常見就是圖片的切換了,能通過滾動(dòng)滾輪進(jìn)行圖片的瀏覽,省得用戶還要去點(diǎn)下一張,做這種繁瑣的步驟。來看個(gè)簡單的例子吧。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>鼠標(biāo)通過滾動(dòng)滾輪切換圖片</title> <style> #picBox{ width:800px;height:600px; margin:70px auto; } </style> <script> var nowPic=1; function MouseWheel(e){ var pic; e=e||window.event; for(i=1;i<4;i++){ if(i==nowPic){ if(e.wheelDelta){//IE pic=document.getElementById("pic"+i); pic.style.display="block"; }else if(e.detail){//Firefox pic=document.getElementById("pic"+i); pic.style.display="block"; } }else{ pic=document.getElementById("pic"+i); pic.style.display="none"; } } if(nowPic>=3){ nowPic=1; }else{ nowPic++; } } /*Firefox注冊(cè)事件*/ if(document.addEventListener){ document.addEventListener("DOMMouseScroll",MouseWheel,false); } window.onmousewheel=document.onmousewheel=MouseWheel;//IE/Opera/Chrome </script> </head> <body> <h3 align="center">鼠標(biāo)通過滾動(dòng)滾輪切換圖片</h3> <div id="picBox"> <img src="http://picm.bbzhi.com/dongwubizhi/dongwuheji/dongwuheji_69803_m.jpg" width="800px" height="600px" id="pic1"> <span style="white-space:pre"> </span><img src="http://pic1a.nipic.com/2008-12-22/2008122204359187_2.jpg" width="800px" height="600px" id="pic2" style="display:none;"> <span style="white-space:pre"> </span><img src="http://imgphoto.gmw.cn/attachement/jpg/site2/20121221/002564a60ce4123e17614e.jpg" width="800px" height="600px" id="pic3" style="display:none;"> </div> </body> </html>
重點(diǎn)講解下js代碼,不同的瀏覽器鼠標(biāo)滾輪事件也不一樣,說白點(diǎn)就是兼容性問題,主要是有兩種,onmousewheel(IE/Opera/Safari/Chrome)和DOMMouseScroll(Firefox),如果想兼容firefox,應(yīng)采用addEventListener監(jiān)聽,這個(gè)函數(shù)有3個(gè)參數(shù),addEventListener(type,listener,useCapture)
,type就是click,focus......類型,而listener可以直接寫方法function(){},也可以調(diào)用寫好的方法體,如我的例子。useCapture是一個(gè)布爾值,只有true和false,表示該事件的響應(yīng)順序,選false則采用bubbing(冒泡)方式,選項(xiàng)true采用Capture方式。對(duì)于addEventListener以后會(huì)出一個(gè)詳解。
在MouseWheel方法中e.wheelDelta兼容IE等其它瀏覽器,每當(dāng)滾動(dòng)一次滾輪會(huì)返回+3/-3(上滾/下滾),而e.detail兼容Firefox瀏覽器,每當(dāng)滾動(dòng)一次滾輪會(huì)返回+120/-120(上滾/下滾),通過這些返回的值可以做出是向上還是向下滾動(dòng)的判斷。而for循環(huán)只是讓圖片有順序的隱藏和顯示,相信這個(gè)不難看懂。
文中錯(cuò)誤與疏漏之處歡迎大家指正。
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript頁面元素操作技巧總結(jié)》、《JavaScript事件相關(guān)操作與技巧大全》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript字符與字符串操作技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- 簡單實(shí)現(xiàn)js頁面切換功能
- js實(shí)現(xiàn)的鼠標(biāo)滾輪滾動(dòng)切換頁面效果(類似360默認(rèn)頁面滾動(dòng)切換效果)
- js實(shí)現(xiàn)單一html頁面兩套css切換代碼
- echarts同一頁面中四個(gè)圖表切換的js數(shù)據(jù)交互方法示例
- 基于JS實(shí)現(xiàn)翻書效果的頁面切換樣式
- 使用AngularJS實(shí)現(xiàn)可伸縮的頁面切換的方法
- javascript單頁面手勢(shì)滑屏切換原理詳解
- jQuery實(shí)現(xiàn)切換頁面過渡動(dòng)畫效果
- jquery結(jié)合html實(shí)現(xiàn)中英文頁面切換
- JavaScript/jQuery實(shí)現(xiàn)切換頁面效果
相關(guān)文章
javaScript實(shí)現(xiàn)游戲倒計(jì)時(shí)功能
這篇文章主要為大家詳細(xì)介紹了javaScript實(shí)現(xiàn)游戲倒計(jì)時(shí)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11Highcharts 多個(gè)Y軸動(dòng)態(tài)刷新數(shù)據(jù)的實(shí)現(xiàn)代碼
下面小編就為大家?guī)硪黄狧ighcharts 多個(gè)Y軸動(dòng)態(tài)刷新數(shù)據(jù)的實(shí)現(xiàn)代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05不用ajax實(shí)現(xiàn)點(diǎn)擊文字即可編輯的方法
本文給大家分享一段代碼不使用ajax實(shí)現(xiàn)點(diǎn)擊文字即可編輯的方法,代碼簡單易懂,需要的朋友參考下吧2007-12-12JS button按鈕實(shí)現(xiàn)submit按鈕提交效果
今天在使用表單是同時(shí)使用POST更新、刪除操作。然而form表單的 submit 且一旦提交則全部提交,所以想到的實(shí)現(xiàn)方法就是 使用button實(shí)現(xiàn),怎么實(shí)現(xiàn)呢?下面小編給大家分享JS button按鈕實(shí)現(xiàn)submit按鈕提交效果,感興趣的朋友參考下吧2016-11-11利用javascript如何隨機(jī)生成一定位數(shù)的密碼
這篇文章主要給大家介紹了關(guān)于利用javascript如何隨機(jī)生成一定位數(shù)的密碼的相關(guān)資料,文中給出了詳細(xì)的示例代碼,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09一文帶你搞懂JavaScript中轉(zhuǎn)義字符的使用
說起轉(zhuǎn)義字符,大家最先想到的肯定是使用反斜杠,這也是我們最常見的,很多編程語言都支持。除了反斜杠以外,在前端開發(fā)中,還有其他幾種轉(zhuǎn)義字符,也是較常見的,本文將對(duì)這些做一個(gè)總結(jié)2023-02-02