ハッシュ タグ ナビゲーションで jQuery-UI のアコーディオン プラグインを使用していますが、問題が発生しています。私のサイトの各ページには、アコーディオン ウィジェットがあります。私のメイン ナビゲーション メニューの第 2 レベルの URL は、付随するハッシュ タグを使用してアコーディオンの正しいパネルを開くことになっており、次のように記述されています。
<li class="lvl2"><a href="/thepage.jsp#panel-3">panel 3</a></li>
問題は、すでにいずれかのアコーディオンの 1 つのパネルを見ている場合、第 2 レベルのナビゲーションで別のパネルを開こうとしても機能しないことです。ハッシュ タグをアドレス バーに渡しますが、ページを更新しない限りアコーディオン パネルは開きません。そこで、次のように、500 ミリ秒後にページを更新する jQuery を追加することで、問題を解決できると考えました。
$('.lvl2 a').click(function() {
setTimeout(function() {
location.reload();
},500);
});
ただし、ページから新しいページと新しいアコーディオン パネルへのナビゲーションが妨害されています。答えは、第 2 レベルのナビゲーションのすべての機能を完全に制御し、jQuery で処理することです。
では、これを変更して、アンカー タグの href 属性から URL を「保存」し、それをブラウザーに渡し、ページを更新するにはどうすればよいでしょうか?