-2

重複の可能性:
新しいページにリンクするときに、親と子を開いたままにする

アコーディオンメニューを制御しているこのコードがあります...以前にこれを尋ねましたが、役に立たなかったので、質問を簡単にするかもしれないと思いました...

<script type="text/javascript">
$(function () {
 $("ul.menu-main > li").hover(function () {
    //Don't do this again if the same menu is hovered
    if (!$(this).hasClass('selected')) {
        //Ensure any open sub-menu is closed.
        $("li.selected").children("ul").stop(true, true).slideUp(1000);
        $("li.selected").removeClass('selected');
        //Open sub-menu
        $(this).addClass('selected');
        $(this).children("ul").slideDown(1000);
    }
});
});
</script>

サブメニュー項目のみをナビゲートするときに、メニュー項目が選択されたときにサブメニューを開いたままにする方法を探しています。たぶん、ある種の「現在のURLを見つける」?必要に応じてさらに説明できますが、少しとりとめのないものです...

誰かが助けてくれることを願っています!

4

1 に答える 1

0

開いているメニュー (のリスト) を Cookie、localStorage、または sessionStorage に格納する必要がある可能性があります。cookie メソッドのみが広くサポートされることに注意してください。

ただし、基本的な考え方は、開いているメニューを開いているときに保存することです (閉じたときにリストから削除します)。次に、ページが読み込まれたら、開いているメニューのリストを探し、存在する場合は、そのリストを使用して手動で (プログラムで) 開き、ページの読み込み時にもう一度開きます。

お役に立てれば。

于 2012-10-03T20:18:01.147 に答える