溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript如何解決offsetX兼容性問題

發(fā)布時間:2022-03-29 14:14:36 來源:億速云 閱讀:201 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“JavaScript如何解決offsetX兼容性問題”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“JavaScript如何解決offsetX兼容性問題”這篇文章吧。

解決offsetX兼容性問題

// 針對火狐不支持offsetX/Y
function getOffset(e) {
 var target = e.target, // 當前觸發(fā)的目標對象
   eventCoord,
   pageCoord,
   offsetCoord;

 // 計算當前觸發(fā)元素到文檔的距離
 pageCoord = getPageCoord(target);

 // 計算光標到文檔的距離
 eventCoord = {
   X: window.pageXOffset + e.clientX,
   Y: window.pageYOffset + e.clientY
 };

 // 相減獲取光標到第一個定位的父元素的坐標
 offsetCoord = {
   X: eventCoord.X - pageCoord.X,
   Y: eventCoord.Y - pageCoord.Y
 };
 return offsetCoord;
}

function getPageCoord(element) {
 var coord = { X: 0, Y: 0 };
 // 計算從當前觸發(fā)元素到根節(jié)點為止,
 // 各級 offsetParent 元素的 offsetLeft 或 offsetTop 值之和
 while (element) {
   coord.X += element.offsetLeft;
   coord.Y += element.offsetTop;
   element = element.offsetParent;
 }
 return coord;
}

以上是“JavaScript如何解決offsetX兼容性問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI