我有一个带有 scrollspy 的菜单(使用 twitter boostrap)。我想window.location.hash
在用户向下滚动到下一部分时更新。
当用户向下滚动时,以下代码有效:
$(window).on('activate.bs.scrollspy', function (e) {
location.hash = $("a[href^='#']", e.target).attr("href") || location.hash;
});
但是,当用户向上滚动时,它不能很好地工作。
这样做的原因是设置一个新location.hash
的触发浏览器导航到相应的锚点。这会引发连锁反应,用户将立即到达页面顶部。
现在解决这个问题的最简单方法是什么?