この順序で実行する必要がある 2 つのイベントがあります。
表示/非表示に切り替えられたタブ
通常どおりにハッシュタグに移動するブラウザー (ページをアンカーにジャンプダウン)
そして、戻るボタンで動作する必要があります。
gotoanchor()
最初の 2 つを達成する独自の関数を作成しました。移動を使用してページlocation.href
に移動しているため、ブラウザーによってブラウザーの履歴に追加されます。
ページをスクロールする前に、戻る/進むボタンをインターセプトし、タブを非表示/表示できるようにするには、jQuery が必要です。
私が見つけた中で最も有望なプラグインはjQuery Addressです
これは私のコードです。
$("a[href^=#]").click(function(){
gotoanchor(this.hash);
return false;
});
$.address.externalChange(function(event) {
// do something depending on the event.value property, e.g.
gotoanchor(event.value);
});
私は3つの問題を抱えています:
location.href
更新はアドレスによって externalChange と見なされ、それに応答してコードが実行されます。ハッシュがある場所までページを下にスクロールしないため、アドレスに履歴を管理させることはできません。address も独自にハッシュを更新したいと考えています。API は非常に広範であり、そうしないように指示する方法があると確信していますが、ドキュメントには多少の作業が必要になる可能性があります。
URL に #/#hash を追加していますが、#hash だけにしたいです
ありがとう!