1

この順序で実行する必要がある 2 つのイベントがあります。

  1. 表示/非表示に切り替えられたタブ

  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つの問題を抱えています:

  1. location.href更新はアドレスによって externalChange と見なされ、それに応答してコードが実行されます。ハッシュがある場所までページを下にスクロールしないため、アドレスに履歴を管理させることはできません。

  2. address も独自にハッシュを更新したいと考えています。API は非常に広範であり、そうしないように指示する方法があると確信していますが、ドキュメントには多少の作業が必要になる可能性があります。

  3. URL に #/#hash を追加していますが、#hash だけにしたいです

ありがとう!

4

0 に答える 0