我有这段代码:
function Scroll(aid){
var aTag = $(\"a[name='\"+ aid +\"']\");
$('html,body').animate({scrollTop: aTag.offset().top},'slow');
}
但问题是,它向下滚动到标签,因此它位于窗口的顶部。我确实喜欢它,所以它只滚动到元素,因此它位于窗口的底部。
所以你可以看到元素之上的内容(就像它上面的所有其他内容一样)。
有什么想法吗?
答案 0 :(得分:2)
找出视口的高度,然后减去:
var pos = Math.max(aTag.offset().top - $(window).height(), 0);
$('html,body').animate({scrollTop: pos },'slow');
您可能需要添加一个小偏移。