js鼠標(biāo)坐標(biāo)獲取常用的三個(gè)方法
js提供了多個(gè)獲取鼠標(biāo)點(diǎn)擊事件的坐標(biāo)獲取方法
1.相當(dāng)于你點(diǎn)擊的元素來(lái)說(shuō) (e.offsetX和e.offsetY)
就是以你點(diǎn)擊的元素的左上角作為參考系源點(diǎn)獲取鼠標(biāo)在元素中點(diǎn)擊的位置
<style> div{ width: 300px; height: 300px; background-color: rebeccapurple; color: wheat; margin: 300px auto; } </style> <body> <div>我的橫坐標(biāo)x:,我的縱坐標(biāo)y:</div> </body> <script> var oDiv = document.querySelector('div') oDiv.onclick = function (e) { console.log(e.offsetX) console.log(e.offsetY) // 渲染函數(shù) oDiv.innerHTML = '相對(duì)于我點(diǎn)擊的這個(gè)元素來(lái)講我的橫坐標(biāo)x:' + e.offsetX + ',我的縱 坐標(biāo)y:' + e.offsetY } </script>
在給div添加點(diǎn)擊事件,在點(diǎn)擊事件中傳入事件源e,e中保存著鼠標(biāo)的點(diǎn)擊坐標(biāo),我們用offsetX和offsetY就可以獲取到鼠標(biāo)在div中的點(diǎn)擊坐標(biāo)。
2.相對(duì)于瀏覽器可視窗口來(lái)說(shuō)(e.clientX和e.clientY)
可視窗口是指瀏覽器能夠看到內(nèi)容的窗口,隨著滾動(dòng)條移動(dòng),可視窗口的位置也在隨著變化,但是都是在以可視窗口的左上角的位置為參考系來(lái)獲取鼠標(biāo)的點(diǎn)擊位置
oDiv.onclick = function (e) { console.log(e.clientX) console.log(e.clientY) // 渲染函數(shù) oDiv.innerHTML = '相對(duì)于瀏覽器可視窗口來(lái)講我的橫坐標(biāo)x:' + e.clientX + ',我的縱坐標(biāo)y:' + e.clientY }
3.以頁(yè)面左上角作為參考系(e.pageX 和 e.pageY)
以頁(yè)面作為為參考系,與可視窗口不一樣,是以整個(gè)頁(yè)面的左上角作為參考系,不隨滾動(dòng)條改變而改變,就是一開(kāi)始頁(yè)面的左上角。
oDiv.onclick = function (e) { console.log(e.pageX) console.log(e.pageY) // 渲染函數(shù) oDiv.innerHTML = '相對(duì)于頁(yè)面來(lái)講我的橫坐標(biāo)x:' + e.pageX + ',我的縱坐標(biāo)y:' + e.pageY }
總結(jié)
到此這篇關(guān)于js鼠標(biāo)坐標(biāo)獲取常用的三個(gè)方法的文章就介紹到這了,更多相關(guān)js獲取鼠標(biāo)坐標(biāo)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript使用WebSocket實(shí)現(xiàn)實(shí)時(shí)通信的技術(shù)詳解
WebSocket作為一種高效的通信協(xié)議,為開(kāi)發(fā)者提供了一種在客戶端和服務(wù)器之間進(jìn)行全雙工通信的方法,本文將深入探討WebSocket技術(shù),并提供實(shí)戰(zhàn)代碼示例2024-04-04淺談使用MVC模式進(jìn)行JavaScript程序開(kāi)發(fā)
這篇文章主要介紹了淺談使用MVC模式進(jìn)行JavaScript程序開(kāi)發(fā),同時(shí)也介紹了一些JavaScript的MVC框架,需要的朋友可以參考下2015-11-11JavaScript中幾種常見(jiàn)排序算法小結(jié)
JavaScript中幾種常見(jiàn)排序算法小結(jié),學(xué)習(xí)js的朋友可以參考下,下面對(duì)多種方法進(jìn)行了簡(jiǎn)單的小結(jié)。2011-02-02前端實(shí)現(xiàn)截屏的兩種常見(jiàn)方式
這篇文章主要介紹了前端實(shí)現(xiàn)截屏的兩種常見(jiàn)方式,分別是使用第三方庫(kù)html2canvas和navigator.mediaDevices.getDisplayMedia,兩種方法都給出了詳細(xì)的代碼示例,需要的朋友可以參考下2025-03-03使用JavaScript優(yōu)雅實(shí)現(xiàn)文本展開(kāi)收起功能
這篇文章主要為大家詳細(xì)介紹了如何使用JavaScript優(yōu)雅實(shí)現(xiàn)文本展開(kāi)收起功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04