0

我有这个代码:

            function Scroll(aid){
                var aTag = $(\"a[name='\"+ aid +\"']\");
                $('html,body').animate({scrollTop: aTag.offset().top},'slow');
            }

但问题是,它向下滚动到标签,所以它位于窗口的顶部。我确实喜欢它,所以它只滚动到元素,所以它位于窗口的底部。

所以你可以看到元素顶部的内容(就像它上面的所有其他内容一样)。

有任何想法吗?

4

1 回答 1

2

找出视口的高度,然后减去:

var pos = Math.max(aTag.offset().top - $(window).height(), 0);
$('html,body').animate({scrollTop: pos },'slow');

您可能需要添加一个小偏移量。

于 2013-09-25T16:26:58.350 回答