是否有一种简单的方法可以从其直接父级计算offsetLeft
,但不包括父级的填充和边框宽度?
当我这样做时,返回的值包括父对象的左边框和填充宽度。
child.offsetLeft - parent.offsetLeft
jsFiddle
我知道我可以简单地减去父项的左边框和填充宽度,但这意味着我必须使用
getComputedStyle
来检索这些值,剥离“ px”并转换为int,然后最后减去...不存在更好的东西? 最佳答案
看看我的评论。我写的每个元素的offsetLeft
属性不包括offsetParent
的边框,但有两个例外,这里每个元素的offsetParent
是document.body
。
所以计算去了
child.offsetLeft - parent.offsetLeft - parent.clientLeft -
parseInt(getComputedStyle(parent).paddingLeft)
因为两个
offsetLeft
属性的差异包括父边界。