Добавление этого:
function () {
window.location.hash = href;
}
сводит на нет вертикальное смещение
top - 72
в Firefox и IE, но не в Chrome.По сути, страница плавно прокручивается до точки, в которой она должна быть остановлена, основываясь на смещении, но затем переходит вниз, туда, где страница будет перемещаться без смещения.
Она добавляет хеш в конец URL, но нажатие назад не возвращает вас к вершине, оно просто удаляет хеш из URL и оставляет окно просмотра там, где оно находится.
Вот полный js, который я использую:
var $root = $('html, body');
$('a').click(function() {
var href = $.attr(this, 'href');
$root.animate({
scrollTop: $(href).offset().top - 120
}, 500, function () {
window.location.hash = href;
});
return false;
});