计算可滚动div内部元素的偏移顶部

时间:2017-10-13 08:48:11

标签: javascript angularjs

如何计算可滚动div内的偏移顶部?我有两个div,我想在我的内容div中滚动,我想将2个变量设置为true / false,具体取决于它们在内容div中的位置。

我试过这样的东西,但我想它会计算整个页面的偏移量,但它并没有真正起作用。我将滚动绑定到该内容div,我想计算他们的位置:

angular.element(slideContent).bind("scroll", function () {
        var contentScrollTop = angular.element(slideContent).scrollTop();
        var slideOneOffset = slideOne.offset().top;
        var slideTwoOffset = slideTwo.offset().top;

        var firstSlideDistance = (contentScrollTop - slideOneOffset);
        var secondSlideDistance = (contentScrollTop - slideTwoOffset);
    });

1 个答案:

答案 0 :(得分:3)

我认为这应该可以帮到你的大部分地方:

Error

-----------

编辑(2018年5月31日)

我想这更好:

// Position of first element relative to container top
var scrollTop = $(".container .element").offset().top - $(".container").offset().top;

// Position of selected element relative to container top
var targetTop = $(".container > *").offset().top - $(".container").offset().top;

// The offset of a scrollable container
var scrollOffset = scrollTop - targetTop;

// Scroll untill target element is at the top of its container
$(".container").scrollTop(scrollOffset);