我有一个带有固定标题的页面,我想要一个 url,比如http://example.com#foo
滚动到元素id=foo
并减去标题的高度,以便元素可见。
我尝试了以下方法,但至少在 Chrome 中,此代码在默认文档片段滚动发生之前运行,因此滚动位置被覆盖:
$(function() {
var offset;
if (window.location.hash !== "") {
offset = $(window.location.hash).offset().top;
return $("body").scrollTop(offset - headerHeight);
}
});
这是问题的一个jsfiddle http://jsfiddle.net/rk8y7/1/