0

我的所有内容都在一个绝对容器中#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/

4

1 回答 1

2

使用自己的 jQuery scrollTop方法:

$('.advance').on("click", function(){
   var nextSection = $(this).parent().next();
   var nextDistanceTop = nextSection.offset().top + $("#content").scrollTop();
   $("#content").animate({ scrollTop: nextDistanceTop });
});
于 2013-08-27T20:40:59.333 回答