使用jQuery计算绝对定位容器中的偏移量

时间:2013-08-27 20:14:43

标签: jquery scroll offset

我的所有内容都在绝对容器#content内,宽度和高度均为100%。因此,当滚动时,我们滚动容器,而不是身体。

我正试图解决页面中一系列部分的偏移,如下所示:

$('.advance').on("click", function(){
     var nextSection = $(this).parent('.section').next('.section');

     var nextDistanceTop = nextSection.offset().top - 25;

     $("#content").animate({ scrollTop: nextDistanceTop });
});

因为容器是绝对定位的,所以offset()。top给出了从视口顶部的偏移量。我需要计算相对于屏幕/标题顶部或滚动位置的偏移量。还有其他解决方法来实现这个目标吗?

以下是一个示例:http://jsfiddle.net/pkxDY/6/

1 个答案:

答案 0 :(得分:2)

使用自己的jQuery scrollTop方法:

$('.advance').on("click", function(){
   var nextSection = $(this).parent().next();
   var nextDistanceTop = nextSection.offset().top + $("#content").scrollTop();
   $("#content").animate({ scrollTop: nextDistanceTop });
});