首頁  >  文章  >  web前端  >  JavaScript實作滑鼠滾輪控制頁面圖片切換

JavaScript實作滑鼠滾輪控制頁面圖片切換

小云云
小云云原創
2018-01-29 10:27:122088瀏覽

滑鼠上的滾輪是一個不錯的東東,為什麼這麼說,因為它能幫助我們快速的瀏覽網頁,快速的進行長篇文章的閱讀。對於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

jQuery學習筆記之控制頁面實作程式碼_jquery

js 控制頁跳轉的5種方法_javascript技巧

#

以上是JavaScript實作滑鼠滾輪控制頁面圖片切換的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn