I've got a menu with scrollspy (using twitter boostrap). I want update the window.location.hash
when the user scrolls down to a next section.
The following code works when the user scrolls down:
$(window).on('activate.bs.scrollspy', function (e) {
location.hash = $("a[href^='#']", e.target).attr("href") || location.hash;
});
However it does not work very well when the user scrolls upwards.
The reason for this is that setting a new location.hash
triggers the browser to navigate towards that respective anchor. That triggers a chain reaction in which the user will instantly end up at the top of the page.
Now what would be the simplest way to solve that problem?