获取元素在页面中相对视扣的位置

Posted hanxiaoer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取元素在页面中相对视扣的位置相关的知识,希望对你有一定的参考价值。

function getBoundingClientRect(element){
  var scrollTop = document.documentElement.scrollTop
  var scrollLeft = document.documentElement.scrollLeft
  if(element.getBoundingClientRect){
    if(typeof arguments.callee.offset != "number"){
      var temp = document.createElement("div")
      temp.style.cssText = "position:absolute;left:0;top:0"
      document.body.appendChild(temp)
      arguments.callee.offset = -temp.getBoundingClientRect().top - scrollTop
      document.body.removeChild(temp)
      temp = null
    }
    var rect = element.getBoundingClientRect()
    var offset = arguments.callee.offset
    return {
      left: rect.left + offset,
      right: rect.right + offset,
      top: rect.top + offset,
      bottom: rect.bottom + offset
    }
  } else {
    var actualLeft = getElementLeft(element)
    var actualTop = getElementTop(element)
    return {
      left: actualLeft - scrollLeft,
      right: actualLeft + element.offsetWidth - scrollLeft,
      top: actualTop - scrollTop,
      bottom: actualTop + element.offsetHeight - scrollTop
    }
  }
}

  

以上是关于获取元素在页面中相对视扣的位置的主要内容,如果未能解决你的问题,请参考以下文章

用getBoundingClientRect()来获取页面元素的位置

通过使用纯Javascript单击页面上的任意位置来关闭元素

Android 使用两个不同的代码片段获取当前位置 NULL

在选项卡式应用程序中的何处放置位置代码?

获取元素在页面中位置

SVG:获取元素相对于页面的位置