当前位置: 首页 > 面试题库 >

查找元素相对于文档的位置

范弘亮
2023-03-14
问题内容

确定元素相对于文档/正文/浏览器窗口的位置的最简单方法是什么?

现在,我正在使用.offsetLeft/offsetTop,但是此方法只给您相对于父元素的位置,因此您需要确定body元素有多少个父元素,以了解相对于body
/浏览器窗口/文档位置的位置。

这种方法也很麻烦。


问题答案:

您可以遍历offsetParentDOM的顶层。

function getOffsetLeft( elem )
{
    var offsetLeft = 0;
    do {
      if ( !isNaN( elem.offsetLeft ) )
      {
          offsetLeft += elem.offsetLeft;
      }
    } while( elem = elem.offsetParent );
    return offsetLeft;
}


 类似资料:
  • 问题内容: 我想使用画布制作一个绘画应用程序。所以我需要找到鼠标在画布上的位置。 问题答案: 对于使用JQuery的人: 有时,当您拥有嵌套元素时,其中一个元素会附加事件,这可能会使您难以理解浏览器将其视为父级。在这里,您可以指定哪个父级。 您采用鼠标位置,然后从父元素的偏移位置中减去它。 如果要在滚动窗格内的页面上获取鼠标位置: 或相对于页面的位置: 请注意以下性能优化: 这样,JQuery不必

  • 如何根据具有绝对位置的子元素高度增加具有相对位置的父元素的高度。 在下面的例子中,父元素的高度显示为0px PS:我不想使用任何脚本 预期: 我得到的是: JSFIDLE 超文本标记语言: CSS:

  • 我有一个表和一个div,我想使用position()将div相对于表单元格放置: 如果td1在窗口内(无水平滚动),则div放置正确。但是,如果桌子比窗口宽,则div放置错误(推到左侧)-位置()。top是正确的,但position()。左侧是这样的:div将完全位于窗口内。我试着把桌子放在一个足够宽(比窗户宽)的div里,但我仍然看到同样的行为。 关于如何正确定位div相对于窗口之外的元素的任何

  • 本文向大家介绍在JavaScript中查找大于其相邻元素的元素,包括了在JavaScript中查找大于其相邻元素的元素的使用技巧和注意事项,需要的朋友参考一下 我们需要编写一个JavaScript函数,该函数将数字数组作为第一个也是唯一的参数。 函数应从数组中查找并返回一个大于两者的数字,该数字应位于其直接右侧和左侧。如果数组中存在多个这样的元素,则我们的函数应返回其中任何一个。 例如- 如果输入

  • 本文向大家介绍怎么让position:fixed相对于父元素定位?相关面试题,主要包含被问及怎么让position:fixed相对于父元素定位?时的应答技巧和注意事项,需要的朋友参考一下 1、 给父元素设置transform 2、 不设置top/right/bottom/left属性,用margin定位

  • 问题内容: 假设我有这个标记: 我有这个jQuery: 单击该子项时,如何获得子项相对于其父项的索引? 例如,当您单击“步骤1”时,应弹出带有“ 0”的。 问题答案: 但是,与其为每个列表项附加一个单击处理程序,不如(在性能方面)更好地使用如下所示: 在jQuery 1.7+中,您应该使用。下面的示例将事件绑定到元素,就像委托事件一样工作: