gpt4 book ai didi

javascript - 元素偏移量始终为 0

转载 作者:数据小太阳 更新时间:2023-10-29 03:50:41 33 4
gpt4 key购买 nike

单击链接时,我正在使用带有链接列的表我想获取行的偏移量。我尝试使用 element.offsetTop 和 $(element).offset().top 并且都返回 0 父元素也返回 0 作为它们的偏移顶部。

我试过了

function getTop(element)
{
var top = findPosY(element);
console.log(top);
}

function findPosY(obj) {
var curtop = 0;
if (obj.offsetParent) {
while (obj.offsetParent) {
curtop += obj.offsetTop
obj = obj.offsetParent;
}
}
else if (obj.y)
curtop += obj.y;
return curtop;
}

但这仍然为 y 位置返回 0。

最佳答案

以下函数遍历 DOM 树,计算其路径上的位置。它返回一个以 .x.y 作为属性的对象,因此 getPosition(element).y 将为您提供来自页面顶部。

   /**
* returns the absolute position of an element regardless of position/float issues
* @param {HTMLElement} el - element to return position for
* @returns {object} { x: num, y: num }
*/
function getPosition(el) {

var x = 0,
y = 0;

while (el != null && (el.tagName || '').toLowerCase() != 'html') {
x += el.offsetLeft || 0;
y += el.offsetTop || 0;
el = el.parentElement;
}

return { x: parseInt(x, 10), y: parseInt(y, 10) };
}

希望这有帮助;)

关于javascript - 元素偏移量始终为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20433868/

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