JavaScript offsetX 屬性
實際應用中經常需要獲取滑鼠指標的座標,比如在瀏覽器客戶區中的座標,在整個文件中的座標。
隨著版本的更新,實現上述類似功能越來越方便,因為JavaScript已經內建對應屬性:
(1).獲取滑鼠指標在客戶區中的座標可以參閱JavaScript clientX 屬性一章節。
(2).獲取滑鼠指標在整個文件中的座標可以參閱JavaScript pageX 屬性一章節。
有時候也需要獲取滑鼠指標在指定元素中的座標,此需求引出本文的主題offsetX屬性。
此屬性屬於事件物件,關於事件物件更多內容可以參閱JavaScript 事件物件一章節。
理解此屬性可以從其名稱入手,offsetX由offset與x合成,offset翻譯成漢語具有"偏移量"的意思,x表示橫座標。
那麼有理由推斷,此屬性用於獲取滑鼠指標在指定元素x軸方向的偏移量,也就是在x軸的座標,事實也是如此。
特別說明:此屬性當前處於實現階段,但是瀏覽器支援度很不錯。
下面首先介紹一下此屬性所處的座標系,圖示如下:
上述是一個簡單的座標系示意圖,簡單說明如下:
(1).灰色的是一個HTML元素,我們要獲取滑鼠指標在此元素中的x軸座標。
(2).元素的左上角是座標系的原點(0,0)位置,橫向為x軸,縱向為y軸。
(3).與數學概念上的座標系不同,y軸向下為正,向上為負,這一點要注意一下。
語法結構:
[JavaScript] 純文字檢視 複製程式碼event.offsetX
瀏覽器支援:
(1).IE瀏覽器支援此屬性。
(2).edge瀏覽器支援此屬性。
(3).火狐瀏覽器支援此屬性。
(4).Opera瀏覽器支援此屬性。
(5).谷歌瀏覽器支援此屬性。
(6).safria瀏覽器支援此屬性。
例項程式碼:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #ant{ width:200px; height:200px; background-color:#639; margin:0px auto; } #zuobiao{ width:150px; margin:0px auto; } </style> <script> window.onload=function(){ let odiv = document.getElementById("ant"); let zuobiao=document.getElementById("zuobiao"); odiv.onmousemove = function (ev) { zuobiao.innerHTML="X:"+ev.offsetX+" Y:"+ev.offsetY; } } </script> </head> <body> <div id="ant"></div> <div id="zuobiao"></div> </body> </html>
上述程式碼對offsetX屬性進行了簡單的演示,與此屬性相對應的是offsetY屬性。
下面對上述程式碼進行一下簡單註釋說明:
(1).為紫色div元素註冊mousemove事件處理函式,只要滑鼠移動就會觸發此事件,進而執行事件處理函式。
(2).在事件處理函式中,將當前滑鼠指標在div元素中的座標寫入id屬性值為zuobiao的div。
(3).於是,只要滑鼠在紫色div中移動,那麼就會實時將滑鼠指標座標寫入id屬性值為zuobiao的div。
相關閱讀:
(1).mousemove事件可以參閱JavaScript mousemove 事件一章節。
(2).innerHTML可以參閱JavaScript innerHTML一章節。
相關文章
- JavaScript files 屬性JavaScript
- JavaScript childElementCount 屬性JavaScript
- JavaScript firstChild屬性JavaScript
- JavaScript classList 屬性JavaScript
- JavaScript cells 屬性JavaScript
- JavaScript rows 屬性JavaScript
- JavaScript nodeName 屬性JavaScript
- JavaScript rowIndex 屬性JavaScriptIndex
- JavaScript tagName 屬性JavaScript
- JavaScript parentNode 屬性JavaScript
- JavaScript prototype屬性JavaScript
- JavaScript NaN 屬性JavaScriptNaN
- JavaScript Infinity 屬性JavaScript
- JavaScript className 屬性JavaScript
- JavaScript style 屬性JavaScript
- JavaScript firstElementChild 屬性JavaScript
- JavaScript私有屬性和靜態屬性JavaScript
- JavaScript validity 屬性JavaScript
- JavaScript 字串 length屬性JavaScript字串
- JavaScript 例項屬性JavaScript
- JavaScript:Object屬性方法JavaScriptObject
- JavaScript設定屬性JavaScript
- JavaScript 函式 name 屬性JavaScript函式
- 理解 JavaScript 物件的屬性JavaScript物件
- JavaScript 刪除class屬性JavaScript
- JavaScript select text 屬性JavaScript
- JavaScript select size 屬性JavaScript
- JavaScript select length 屬性JavaScript
- JavaScript 陣列 length 屬性JavaScript陣列
- JavaScript naturalHeight 屬性JavaScript
- JavaScript naturalWidth 屬性JavaScript
- JavaScript 函式 length 屬性JavaScript函式
- javascript layerX和layerY屬性JavaScript
- javascript textContent屬性用法JavaScript
- 理解JavaScript的原型屬性JavaScript原型
- JavaScript物件的資料屬性與訪問器屬性JavaScript物件
- JavaScript公有屬性、私有屬性、公有方法和原型方法JavaScript原型
- JavaScript 獲取 checked 屬性值JavaScript