scrollspy のメニューがあります (Twitter のブーストラップを使用)。window.location.hash
ユーザーが次のセクションにスクロールしたときに更新したい。
次のコードは、ユーザーが下にスクロールすると機能します。
$(window).on('activate.bs.scrollspy', function (e) {
location.hash = $("a[href^='#']", e.target).attr("href") || location.hash;
});
ただし、ユーザーが上にスクロールするとうまく機能しません。
この理由は、 new を設定するとlocation.hash
、ブラウザーがそのそれぞれのアンカーに向かってナビゲートするようになるためです。それが連鎖反応を引き起こし、ユーザーは即座にページのトップにたどり着きます。
では、その問題を解決する最も簡単な方法は何でしょうか?