[JavaScript] 解决offsetX兼容性问题 →→→→→进入此内容的聊天室

来自 , 2020-03-22, 写在 JavaScript, 查看 103 次.
URL http://www.code666.cn/view/4734ba6f
  1.  
  2. // 针对火狐不支持offsetX/Y
  3. function getOffset(e){
  4.     var target = e.target, // 当前触发的目标对象
  5.           eventCoord,
  6.           pageCoord,
  7.           offsetCoord;
  8.  
  9.     // 计算当前触发元素到文档的距离
  10.     pageCoord = getPageCoord(target);
  11.  
  12.     // 计算光标到文档的距离
  13.     eventCoord = {
  14.         X : window.pageXOffset + e.clientX,
  15.         Y : window.pageYOffset + e.clientY
  16.     };
  17.  
  18.     // 相减获取光标到第一个定位的父元素的坐标
  19.     offsetCoord = {
  20.         X : eventCoord.X - pageCoord.X,
  21.         Y : eventCoord.Y - pageCoord.Y
  22.     };
  23.     return offsetCoord;
  24. }
  25.  
  26. function getPageCoord(element){
  27.     var coord = { X : 0, Y : 0 };
  28.     // 计算从当前触发元素到根节点为止,
  29.     // 各级 offsetParent 元素的 offsetLeft 或 offsetTop 值之和
  30.     while (element){
  31.         coord.X += element.offsetLeft;
  32.         coord.Y += element.offsetTop;
  33.         element = element.offsetParent;
  34.     }
  35.     return coord;
  36. }

回复 "解决offsetX兼容性问题"

这儿你可以回复上面这条便签

captcha