我有这个代码:
function Scroll(aid){
var aTag = $(\"a[name='\"+ aid +\"']\");
$('html,body').animate({scrollTop: aTag.offset().top},'slow');
}
但问题是,它向下滚动到标签,因此它位于窗口的顶部。我确实喜欢它,所以它只滚动到元素,因此它位于窗口底部。
因此您可以看到元素顶部的内容(就像其上方的所有其他内容一样)。
有什么想法吗?
最佳答案
找出视口(viewport)的高度,然后减去它:
var pos = Math.max(aTag.offset().top - $(window).height(), 0);
$('html,body').animate({scrollTop: pos },'slow');
您可能需要添加一个小的偏移量。
关于Javascript 在 View 中滚动并停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19010321/