获取与父母相关的子保证金

时间:2014-01-28 20:15:43

标签: javascript jquery html css

如何找到父div顶部与子div顶部之间的距离?

enter image description here

例如,我如何知道div 2与父div相关的距离(高度)?所以我可以滚动到它?

3 个答案:

答案 0 :(得分:1)

您可以使用jQuery查找div2的位置:

$('.div2').offset();

你已经滚动了多少(如果有的话):

var scrolled = $(window).scrollTop();

然后只是减去它们

var distanceFromTop = offset.top - scrolled

这将为您提供Div2顶部与视口顶部之间的距离。现在,您可以告诉您的脚本向下滚动该数量,或者如果您已经超过它,则不要滚动。

答案 1 :(得分:1)

您可以使用div.getBoundingClientRect().top返回视口顶部的距离。只需从中减去父级getBoundingClientRect().top即可。 (FiddleMDN

但是:由于你只需要在那里滚动,你可以使用div.scrollIntoView()(已解答hereMDN

答案 2 :(得分:0)

这会有任何帮助吗?

function pxToInt(val) {
    return parseInt(val.replace('px', ''));
}

var a = pxToInt($('#parent').attr('padding-top'));
var b = pxToInt($('#div1').attr('margin-top'));
var c = pxToInt($('#div1').innerHeight());
alert(a + b + c);