滑鼠上的滾輪是一個不錯的東東,為什麼這麼說,因為它能幫助我們快速的瀏覽網頁,快速的進行長篇文章的閱讀。對於web前端的我們來說又怎麼能不注重這個滑鼠滾輪呢,那麼它能如何讓使用者更好的瀏覽網頁呢?本文主要介紹JavaScript實作滑鼠滾輪控制頁面圖片切換功能,涉及javascript事件回應及頁面元素動態操作相關實作技巧,需要的朋友可以參考下,希望能幫助到大家。
最常見就是圖片的切換了,能透過滾動滾輪進行圖片的瀏覽,省得用戶還要去點下一張,做這種繁瑣的步驟。來看個簡單的例子吧。
<!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>鼠标通过滚动滚轮切换图片</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注册事件*/ if(document.addEventListener){ document.addEventListener("DOMMouseScroll",MouseWheel,false); } window.onmousewheel=document.onmousewheel=MouseWheel;//IE/Opera/Chrome </script> </head> <body> <h3 align="center">鼠标通过滚动滚轮切换图片</h3> <p 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;"> </p> </body> </html>
重點講解下js程式碼,不同的瀏覽器滑鼠滾輪事件也不一樣,說白點就是相容性問題,主要是有兩種,onmousewheel(IE/Opera/Safari/Chrome)和DOMMouseScroll( Firefox),如果想要相容firefox,應採用addEventListener監聽,這個函式有3個參數,addEventListener(type,listener,useCapture),type就是click,focus......型,而listener可以直接寫方法function( ){},也可以呼叫寫好的方法體,如我的例子。 useCapture是布林值,只有true和false,表示該事件的回應順序,選false則採用bubbing(冒泡)方式,選項true採用Capture方式。對於addEventListener以後會出一個詳解。
在MouseWheel方法中e.wheelDelta兼容IE等其它瀏覽器,每當滾動一次滾輪會返回+3/-3(上滾/下滾),而e.detail兼容Firefox瀏覽器,每當滾動一次滾輪會回到+120/-120(上滾/下滾),透過這些傳回的值可以做出是向上還是向下滾動的判斷。而for循環只是讓圖片有順序的隱藏與顯示,相信這不難看懂。
文中錯誤與疏漏之處歡迎大家指正。
相關推薦:
js控制頁面字體大小的問題_html/css_WEB-ITnose
#以上是JavaScript實作滑鼠滾輪控制頁面圖片切換的詳細內容。更多資訊請關注PHP中文網其他相關文章!