gpt4 book ai didi

javascript - js 中的 elem.offsetParent

转载 作者:行者123 更新时间:2023-11-30 18:50:20 25 4
gpt4 key购买 nike

我正在看 Pro JS 技术书中的这段 javasript。

他试图找到一个元素的 offsetLeft。但是在firefox中,offsetParent不就是根元素体吗?

我不确定它会如何递归。

// Find the X (Horizontal, Left) position of an element
function pageX(elem) {
// See if we' re at the root element, or not
return elem. offsetParent ?
// If we can still go up, add the current offset and recurse upwards
elem. offsetLeft + pageX( elem. offsetParent ) :
// Otherwise, just get the current offset
elem. offsetLeft;
}

最佳答案

offset parent元素的 positioned 是它最近的祖先。我的猜测是,在您的实验中,没有一个祖先被定位。如果元素具有 position style property,则该元素是“定位的” (relative, absolute, fixed, ...我想这就是它们的全部) 不是static (这是默认设置),在其 style 属性中或通过 CSS 选择器。

例如,这里没有定位元素:

<body>
<p>Hi there,
<span>I'm some text in a span inside a paragraph</span>
</p>
</body>

...所以段落和跨度的 offsetParent 都是文档元素。

在这里,我们将段落定位:

<body>
<p style='position: relative'>Hi there,
<span>I'm some text in a span inside a paragraph</span>
</p>
</body>

...因此 spanoffsetParent 是段落。

关于javascript - js 中的 elem.offsetParent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4125705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com