По моему опыту, решение window.location.hash
работает только один раз. Если вы не хотите использовать плагин, вы можете попробовать это:
var navigationFn = {
goToSection: function(id) {
$('html, body').animate({
scrollTop: $(id).offset().top
}, 0);
}
}
и затем назовите его так (где someID
- идентификатор элемента, к которому вы хотите прокрутить):
navigationFn.goToSection('#someID');
При этом вы также можете изменять скорость анимации (у меня она равна 0), чтобы она была мгновенной, но вы могли бы передать значение функции, чтобы код можно было использовать повторно.