我有一个硬编码高度的滚动容器:
.scrollingContainer { overflow: scroll; height: 400px; }
这个滚动容器包含一个项目列表,当我点击要滚动容器的项目,以便点击的项目位于滚动容器的顶部.
$('.scrollingContainer li a').click( function(event) { var vpHeight = $('.scrollingContainer').height(); var offset = $(this).offset(); $('.scrollingContainer').animate({ scrollTop: vpHeight - offset.top },500); });
以上是我目前的情况,我遇到了需要执行的数学计算的麻烦.此外,我认为var offset值是不正确的,因为它似乎从页面顶部获得偏移,我希望根据它在滚动容器中的位置获取偏移值.
任何帮助赞赏!
解决方法
this answer的变化是诀窍:
http://jsfiddle.net/isherwood/LqQGR/14
var myContainer = $('.scrollingContainer') $(myContainer).on('click','a',function () { var scrollTo = $(this); myContainer.animate({ scrollTop: scrollTo.offset().top - myContainer.offset().top + myContainer.scrollTop() }); });