javascript獲取滑鼠在網頁文件中的座標
獲取滑鼠在網頁中的座標是常用的操作,本章節就通過一個簡單的程式碼例項介紹一下如何實現此功能。
程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>獲取滑鼠在文件中的座標-螞蟻部落</title> <style type="text/css"> #zuobiao{ width:200px; height:200px; background-color:#CCC; text-align:center; } </style> <script type="text/javascript"> var xPos; var yPos; function mouseCoords(ev){ if(ev.pageX||ev.pageY){ return {x:ev.pageX,y:ev.pageY}; } else{ return { x:ev.clientX+document.body.scrollLeft+document.documentElement.scrollLeft, y:ev.clientY+document.body.scrollTop+document.documentElement.scrollTop } } } window.onload=function(){ var zuobiao=document.getElementById("zuobiao"); document.onmousemove=mouseMove; function mouseMove(ev){ ev= ev||window.event; var mousePos=mouseCoords(ev); xPos=mousePos.x; yPos=mousePos.y; zuobiao.innerHTML="X座標:"+xPos+"<br/>"+"Y座標:"+yPos; } } </script> </head> <body> <div id="zuobiao"></div> </body> </html>
以上程式碼實現了我們的要求,當滑鼠在網頁中移動的時候,能夠在div中實時顯示滑鼠指標在網頁文件中的座標,下面就簡單介紹一下此效果的實現過程。
一.實現原理:
原理比較簡單,那就是為document物件註冊onmousemove事件處理函式,當滑鼠在文件中移動的時候,獲取滑鼠在網頁文件中的座標,在程式碼中使用了相容性的寫法,pageX和pageY屬效能夠直接獲取滑鼠在網頁文件中的座標,但是這兩個屬性具有瀏覽器相容性問題,所以當瀏覽器不支援這兩個屬性的時候就利用clientX和clientY來獲取,但是這兩個屬性獲取的是滑鼠在網頁客戶可見區域的座標,並不包括滾動條隱藏的部分,所以必須要和滾動隱藏的尺寸相加才行。
二.程式碼註釋:
1.var xPos,var yPos,宣告兩個變數用於儲存滑鼠指標在網頁文件的座標。
2.function mouseCoords(ev) {},此函式可以獲取滑鼠指標在網頁文件的座標,引數是事件物件。
3.if(ev.pageX||ev.pageY) ,判斷瀏覽器是否支援pageX和pageY屬性。
4.return {x:ev.pageX,y:ev.pageY},返回一個物件直接量,屬性即為座標。
5.return {
x:ev.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,
y:ev.clientY+document.body.scrollTop+document.documentElement.scrollTop
}
如果瀏覽器不支援pageX和pageY屬性,就是使用clientX和clientY屬性再加上滾動的尺寸。
6.window.onload=function(){},當文件內容完全載入完畢再去執行函式中的程式碼。
7.var zuobiao=document.getElementById("zuobiao"),獲取id屬性值為zuobiao的物件。
8.document.onmousemove=mouseMove,為document註冊事件處理函式。
9.function mouseMove(ev){},onmousemove事件處理函式,ev為事件物件。
10.ev= ev||window.event,為了相容火狐和其他瀏覽器。
11.var mousePos=mouseCoords(ev),呼叫mouseCoords函式。
12. xPos=mousePos.x和yPos=mousePos.y返回x和y座標。
13.zuobiao.innerHTML="X座標:"+xPos+"<br/>"+"Y座標:"+yPos,將座標寫入div。
三.相關閱讀:
1.clientX和clientY屬性可以參閱javascript clientX一章節。
2.document.body.scrollLeft可以參閱document.documentElement.scrollTop瀏覽器相容一章節。
3.onmousemove事件可以參閱javascript mousemove 事件一章節。
4.ev= ev||window.event可以參閱var ev=window.event||ev的作用是什麼一章節。
相關文章
- JavaScript獲取滑鼠在文件中座標JavaScript
- JavaScript獲取滑鼠在元素中的座標JavaScript
- JavaScript獲取元素在文件中座標JavaScript
- JavaScript-滑鼠獲取頁面座標JavaScript
- JavaScript 獲取div在頁面中座標JavaScript
- 使用js獲取滑鼠座標JS
- 透過滑鼠事件獲取滑鼠位置在3d中的座標mouse/Raycaster事件3DAST
- 物體物件在螢幕中的座標及滑鼠座標物件
- HTML網頁根據座標模擬滑鼠點選HTML網頁
- javascript頁面元素座標JavaScript
- Java 獲取Excel分頁座標位置(單元格)JavaExcel
- 觸控事件獲取座標事件
- Vue中使用MouseMove事件 獲取滑鼠座標頻率降低或事件卡頓Vue事件
- Java 獲取Excel中圖片所在的行、列座標位置JavaExcel
- JavaScript獲取元素在陣列中的位置JavaScript陣列
- JavaScript 獲取網頁尾本程式碼內容JavaScript網頁
- 獲取資料庫中到指定經緯度距離的座標資料庫
- JavaScript 空間座標JavaScript
- 【Javascript】獲取選中的文字JavaScript
- C#/VB.NET 獲取Excel中圖片所在的行、列座標位置C#Excel
- 百度地圖:根據位置獲取座標地圖
- getBoundingClientRect方法獲取元素在頁面中的相對位置GCclient
- JavaScript獲取元素距離文件頂部的距離JavaScript
- ifccolumn在空間中的座標計算
- python四種方式解析網頁獲取頁面中的連結Python網頁
- python3中編碼如何獲取網頁?Python網頁
- QWebView獲取網頁原始碼WebView網頁原始碼
- Android日常學習:如何高效 & 正確地獲取View的座標位置?AndroidView
- Python 爬取網頁中JavaScript動態新增的內容(一)Python網頁JavaScript
- Python 爬取網頁中JavaScript動態新增的內容(二)Python網頁JavaScript
- iOS 頁面起始座標的變化iOS
- 如何用jst獲取DOM元素在頁面中的絕對位置?JS
- flutter 總結: 通過 GlobalKey 獲取介面任意元素座標尺寸Flutter
- JavaScript獲取選中checkbox valueJavaScript
- JavaScript 獲取指定標籤一級子元素JavaScript
- 想獲取JS載入網頁的源網頁的原始碼,不想獲取JS載入後的資料JS網頁原始碼
- JavaScript 獲取選中checkbox核取方塊的值JavaScript
- js/jq 獲取網頁寬高JS網頁
- webgl入門(3)-座標系與滑鼠互動Web