下面的示例代码似乎运行良好。
除此之外,如果URL已经加载,它将只滚动到没有动画的散列,然后通过点击(Shift+F5)或(Ctrl+F5)在没有缓存的情况下重新加载页面,它将按照预期再次工作。可以通过实现清除缓存函数来解决此问题。
$(document).ready(function () {
var urlHash = window.location.href.split("#")[1];
if (urlHash && $('#' + urlHash).length )
$('html,body').animate({
scrollTop: $('#' + urlHash).offset().top - 60
}, 2500);
});