整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          HTML中鼠標滾輪事件onmousewheel處理

          輪事件是不同瀏覽器會有一點點區別,一個像Firefox使用DOMMouseScroll ,ff也可以使用addEventListener方法綁定DomMouseScroll事件,其他的瀏覽器滾輪事件使用mousewheel,下面我來給大家具體介紹。

          Firefox使用DOMMouseScroll,其他的瀏覽器使用mousewheel。滾動事件觸發時Firefox使用detail屬性捕捉滾輪信息,其他的瀏覽器使用wheelDelta。不知道為何在該問題上其他廠商和微軟的如此一致。Firefox可以使用addEventListener方法綁定DomMouseScroll事件。

          elem.addEventListener(‘DOMMouseScroll’, func, false);IE和其他的主流瀏覽器可以使用傳統的事件綁定模型。但不要使用IE專有的attachEvent方法,其他主流瀏覽器并不識別微軟的這個方法。

          Firefox 鼠標滾輪向上滾動是-3,向下滾動是3

          IE 鼠標滾輪向上滾動是120,向下滾動是-120

          Safari 鼠標滾輪向上滾動是360,向下滾動是-360

          Opera 鼠標滾輪向上滾動是120,向下滾動是-120

          Chrome 鼠標滾輪向上滾動是120,向下滾動是-120

          有人在Safari下做了一些測試:”只是滾動一圈的話,值為+-0.1,如果滾動地稍微快點的話(多滾動幾圈),這個值也會變大。 這是因為Mac OS下有鼠標滾輪加速功能。滾動一次,瀏覽器滾動1像素,滾動3次,瀏覽器卻滾動30像素”。同時他也對Camino(基于Gecko的內核引擎)進行研究:“與Safari相似(+- 0.3 to +-Infinity),雖然使用了與firefox相同的內核引擎,但結果這個delta值卻只在+-2.666666里浮動,無論滾動速度如何

          IE/Opera屬于同一類型,使用attachEvent即可添加滾輪事件

          /*IE注冊事件*/ 
          if(document.attachEvent){ 
           document.attachEvent('onmousewheel',scrollFunc); 
          }
          

          Firefox使用addEventListener添加滾輪事件

          /*Firefox注冊事件*/ 
          if(document.addEventListener){ 
           document.addEventListener('DOMMouseScroll',scrollFunc,false); 
          }
          

          Safari與Chrome屬于同一類型,可使用HTML DOM方式添加事件

          window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome

          其中除Firefox外其余均可使用HTML DOM方式添加事件,因此添加事件使用以下方式

          /*注冊事件*/ 
          if(document.addEventListener){ 
           document.addEventListener('DOMMouseScroll',scrollFunc,false); 
          }//W3C 
          window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chromex
          

          下面兩個參數可以獲取滾動的位置

          document.documentElement.scrollTop:垂直方向

          document.documentElement.scrollLeft:水平方向

          放入監聽事件后就可以在鼠標滑輪滾動時給一些元素設置浮動樣式

          如頭條號的發表文章界面:

          下滑前

          下滑后

          TML 屬性

          HTML 標簽可以擁有屬性。屬性提供了有關 HTML 元素的更多的信息。

          屬性總是以名稱/值對的形式出現,比如:name="value"。

          屬性總是在 HTML 元素的開始標簽中規定。

          屬性實例

          HTML 鏈接由 <a> 標簽定義。鏈接的地址在 href 屬性中指定:

          [demo]

          <html>

          <head>

          <meta charset="UTF-8">

          </head>

          <body>

          <a >

          This is a link</a>

          </body>

          </html>

          [/demo]

          更多 HTML 屬性實例

          屬性例子 1:

          <h1> 定義標題的開始。

          <h1 align="center"> 擁有關于對齊方式的附加信息。

          [demo]

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

          "http://www.w3.org/TR/html4/loose.dtd">

          <html>

          <head>

          <meta charset="UTF-8">

          </head>

          <body>

          <h1 align="center">This is heading 1</h1>

          <p>上面的標題在頁面中進行了居中排列。上面的標題在頁面中進行了居中排列。上面的標題在頁面中進行了居中排列。</p>

          </body>

          </html>

          [/demo]

          屬性例子 2:

          <body> 定義 HTML 文檔的主體。

          <body bgcolor="yellow"> 擁有關于背景顏色的附加信息。

          [demo]

          <html>

          <head>

          <meta charset="UTF-8">

          <meta http-equiv="Content-Type" content="text/html />

          <meta http-equiv="Content-Language" content="zh-cn" />

          </head>

          <body bgcolor="yellow">

          <h2>請看: 改變了顏色的背景。</h2>

          </body>

          </html>

          [/demo]

          屬性例子 3:

          <table> 定義 HTML 表格。(您將在稍后的章節學習到更多有關 HTML 表格的內容)

          <table border="1"> 擁有關于表格邊框的附加信息。

          HTML 提示:使用小寫屬性

          屬性和屬性值對大小寫不敏感。

          不過,萬維網聯盟在其 HTML 4 推薦標準中推薦小寫的屬性/屬性值。

          而新版本的 (X)HTML 要求使用小寫屬性。

          始終為屬性值加引號

          屬性值應該始終被包括在引號內。雙引號是最常用的,不過使用單引號也沒有問題。

          在某些個別的情況下,比如屬性值本身就含有雙引號,那么您必須使用單引號,例如:

          name='Bill "HelloWorld" Gates'

          下面列出了適用于大多數 HTML 元素的屬性:

          屬性 值 描述

          class classname 規定元素的類名(classname)

          id id 規定元素的唯一 id

          style style_definition 規定元素的行內樣式(inline style)

          title text 規定元素的額外信息(可在工具提示中顯示)

          HTML 全局屬性

          HTML 屬性賦予元素意義和語境。

          下面的全局屬性可用于任何 HTML 元素。

          HTML 全局屬性

          屬性 描述

          accesskey 規定激活元素的快捷鍵。

          class 規定元素的一個或多個類名(引用樣式表中的類)。

          contenteditable 規定元素內容是否可編輯。

          contextmenu 規定元素的上下文菜單。上下文菜單在用戶點擊元素時顯示。

          data-* 用于存儲頁面或應用程序的私有定制數據。

          dir 規定元素中內容的文本方向。

          draggable 規定元素是否可拖動。

          dropzone 規定在拖動被拖動數據時是否進行復制、移動或鏈接。

          hidden 規定元素仍未或不再相關。

          id 規定元素的唯一 id。

          lang 規定元素內容的語言。

          spellcheck 規定是否對元素進行拼寫和語法檢查。

          style 規定元素的行內 CSS 樣式。

          tabindex 規定元素的 tab 鍵次序。

          title 規定有關元素的額外信息。

          translate 規定是否應該翻譯元素內容。

          HTML 事件屬性

          Window 事件屬性

          針對 window 對象觸發的事件(應用到 <body> 標簽):

          屬性 值 描述

          onafterprint script 文檔打印之后運行的腳本。

          onbeforeprint script 文檔打印之前運行的腳本。

          onbeforeunload script 文檔卸載之前運行的腳本。

          onerror script 在錯誤發生時運行的腳本。

          onhaschange script 當文檔已改變時運行的腳本。

          onload script 頁面結束加載之后觸發。

          onmessage script 在消息被觸發時運行的腳本。

          onoffline script 當文檔離線時運行的腳本。

          ononline script 當文檔上線時運行的腳本。

          onpagehide script 當窗口隱藏時運行的腳本。

          onpageshow script 當窗口成為可見時運行的腳本。

          onpopstate script 當窗口歷史記錄改變時運行的腳本。

          onredo script 當文檔執行撤銷(redo)時運行的腳本。

          onresize script 當瀏覽器窗口被調整大小時觸發。

          onstorage script 在 Web Storage 區域更新后運行的腳本。

          onundo script 在文檔執行 undo 時運行的腳本。

          onunload script 一旦頁面已下載時觸發(或者瀏覽器窗口已被關閉)。

          Form 事件

          由 HTML 表單內的動作觸發的事件(應用到幾乎所有 HTML 元素,但最常用在 form 元素中):

          屬性 值 描述

          onblur script 元素失去焦點時運行的腳本。

          onchange script 在元素值被改變時運行的腳本。

          oncontextmenu script 當上下文菜單被觸發時運行的腳本。

          onfocus script 當元素失去焦點時運行的腳本。

          onformchange script 在表單改變時運行的腳本。

          onforminput script 當表單獲得用戶輸入時運行的腳本。

          oninput script 當元素獲得用戶輸入時運行的腳本。

          oninvalid script 當元素無效時運行的腳本。

          onreset script 當表單中的重置按鈕被點擊時觸發。HTML5 中不支持。

          onselect script 在元素中文本被選中后觸發。

          onsubmit script 在提交表單時觸發。

          Keyboard 事件

          屬性 值 描述

          onkeydown script 在用戶按下按鍵時觸發。

          onkeypress script 在用戶敲擊按鈕時觸發。

          onkeyup script 當用戶釋放按鍵時觸發。

          Mouse 事件

          由鼠標或類似用戶動作觸發的事件:

          屬性 值 描述

          onclick script 元素上發生鼠標點擊時觸發。

          ondblclick script 元素上發生鼠標雙擊時觸發。

          ondrag script 元素被拖動時運行的腳本。

          ondragend script 在拖動操作末端運行的腳本。

          ondragenter script 當元素元素已被拖動到有效拖放區域時運行的腳本。

          ondragleave script 當元素離開有效拖放目標時運行的腳本。

          ondragover script 當元素在有效拖放目標上正在被拖動時運行的腳本。

          ondragstart script 在拖動操作開端運行的腳本。

          ondrop script 當被拖元素正在被拖放時運行的腳本。

          onmousedown script 當元素上按下鼠標按鈕時觸發。

          onmousemove script 當鼠標指針移動到元素上時觸發。

          onmouseout script 當鼠標指針移出元素時觸發。

          onmouseover script 當鼠標指針移動到元素上時觸發。

          onmouseup script 當在元素上釋放鼠標按鈕時觸發。

          onmousewheel script 當鼠標滾輪正在被滾動時運行的腳本。

          onscroll script 當元素滾動條被滾動時運行的腳本。

          Media 事件

          由媒介(比如視頻、圖像和音頻)觸發的事件(適用于所有 HTML 元素,但常見于媒介元素中,比如 <audio>、<embed>、<img>、<object> 以及 <video>):

          屬性 值 描述

          onabort script 在退出時運行的腳本。

          oncanplay script 當文件就緒可以開始播放時運行的腳本(緩沖已足夠開始時)。

          oncanplaythrough script 當媒介能夠無需因緩沖而停止即可播放至結尾時運行的腳本。

          ondurationchange script 當媒介長度改變時運行的腳本。

          onemptied script 當發生故障并且文件突然不可用時運行的腳本(比如連接意外斷開時)。

          onended script 當媒介已到達結尾時運行的腳本(可發送類似“感謝觀看”之類的消息)。

          onerror script 當在文件加載期間發生錯誤時運行的腳本。

          onloadeddata script 當媒介數據已加載時運行的腳本。

          onloadedmetadata script 當元數據(比如分辨率和時長)被加載時運行的腳本。

          onloadstart script 在文件開始加載且未實際加載任何數據前運行的腳本。

          onpause script 當媒介被用戶或程序暫停時運行的腳本。

          onplay script 當媒介已就緒可以開始播放時運行的腳本。

          onplaying script 當媒介已開始播放時運行的腳本。

          onprogress script 當瀏覽器正在獲取媒介數據時運行的腳本。

          onratechange script 每當回放速率改變時運行的腳本(比如當用戶切換到慢動作或快進模式)。

          onreadystatechange script 每當就緒狀態改變時運行的腳本(就緒狀態監測媒介數據的狀態)。

          onseeked script 當 seeking 屬性設置為 false(指示定位已結束)時運行的腳本。

          onseeking script 當 seeking 屬性設置為 true(指示定位是活動的)時運行的腳本。

          onstalled script 在瀏覽器不論何種原因未能取回媒介數據時運行的腳本。

          onsuspend script 在媒介數據完全加載之前不論何種原因終止取回媒介數據時運行的腳本。

          ontimeupdate script 當播放位置改變時(比如當用戶快進到媒介中一個不同的位置時)運行的腳本。

          onvolumechange script 每當音量改變時(包括將音量設置為靜音)時運行的腳本。

          onwaiting script 當媒介已停止播放但打算繼續播放時(比如當媒介暫停已緩沖更多數據)運行腳本

          )獲取事件源對象(srcElement/target)

          就是指由頁面中什么元素觸發的事件,比如按鈕

                     //在head標簽的js標簽中書寫
                      function btnClick() {
                      //IE,谷歌瀏覽器,火狐(新版本)下
                      alert(window.event.srcElement.type);//button
                      alert(window.event.srcElement.id);//btn1
                      alert(window.event.srcElement.value);//按鈕
                      //火狐瀏覽器(老版本)下
                      alert(window.event.target.id);
                      //兼容模式下
                      var evt = window.event.srcElement || window.event.target;
                      alert(evt.type);
                      }
          <body>
              <input type="button" value="按鈕" id="btn1" onclick="btnClick();" />
          </body>

          2)獲取鼠標按鍵(button)

          IE:1為左鍵,2為右鍵,4中滑輪;在onmousedown事件中檢測鼠標按鍵

                 function chkMKey() {
                      alert(window.event.button);
                  }
          <body onmousedown="chkMKey();">
          </body>

          鼠標按鍵

          3)檢測電腦分辨率(screen)

           function btnClick() {
               //檢測自己的電腦分辨率
                 alert(window.screen.width + '*' + window.screen.height); 
           }
          <body>
              <input type="button" value="按鈕" id="btn1" onclick="btnClick();" />
          </body>

          4)獲取瀏覽器對象(navigator:封裝了一些瀏覽器的信息)

          1)appCodeName:返回瀏覽器的代碼名 2)appMinorVersion:返回瀏覽器的次級版本 3)appName:返回瀏覽器的名稱 4)appVersion:返回瀏覽器的平臺和版本信息 5)browserLanguage:返回當前瀏覽器的語言

                      function chkMKey() {
                      //alert(window.event.button);           
                      alert(window.navigator.appCodeName);
                      alert(window.navigator.appMinorVersion);
                      alert(window.navigator.Version);
                      alert(window.navigator.appName);
                      alert(window.navigator.browserLanguage);
                  }

          navigator其他屬性

          5)獲取瀏覽器歷史記錄(history)

          使用history的3個方法實現前進與后退,相當于瀏覽器左上角的左右箭頭


          主站蜘蛛池模板: 无码精品视频一区二区三区| 国产精久久一区二区三区| 精品亚洲一区二区| 中文字幕一区二区三区乱码| 在线精品亚洲一区二区三区| 一区二区三区观看免费中文视频在线播放| 日本亚洲成高清一区二区三区| 免费播放一区二区三区| 亚洲av色香蕉一区二区三区| 男人免费视频一区二区在线观看| 国产精品女同一区二区久久 | 亚洲一区二区三区精品视频| 麻豆一区二区免费播放网站| 日本精品无码一区二区三区久久久| 日本一区高清视频| 一区免费在线观看| 在线视频一区二区三区| 国产伦精品一区二区三区免费迷| 成人精品一区二区三区不卡免费看 | 在线视频一区二区日韩国产| 久久精品无码一区二区三区日韩| 香蕉免费一区二区三区| 精品国产免费观看一区| 国产自产在线视频一区| 在线观看精品一区| 日本一区二区不卡视频| 狠狠爱无码一区二区三区| 久久精品午夜一区二区福利| 日韩一区二区三区视频久久| 久久久久人妻精品一区二区三区 | 亚洲高清偷拍一区二区三区| 亚洲福利一区二区| 一区二区三区电影在线观看| 在线精品亚洲一区二区| 中文字幕在线无码一区二区三区| 海角国精产品一区一区三区糖心 | 国产激情一区二区三区 | 国产成人午夜精品一区二区三区| 三上悠亚日韩精品一区在线| 日韩色视频一区二区三区亚洲| 高清国产AV一区二区三区|