0

これは、このサイトでの最初の投稿であり、1 つの適切な解決策を期待しています。以下に示すように、垂直アコーディオン メニューの HTML 構造を作成しました。必要なのは、ページの更新時にもアクティブにする必要がある ul のサブ リンクをクリックしたときです。ここでは、すべてがうまくいっていますが、Cookie の値が正しく取得されていません ( firebugでチェックしています)、jquery Cookieプラグインを使用しています。

前もって感謝します。

HTML:

<div class="left-nav">
  <h3>Main one</h3>
  <ul>
    <li><a href="link">Sub one-1</li>
    <li><a href="link">Sub one-2</li>
  </ul>
  <h3>Main Two</h3>
  <ul>
    <li><a href="link">Sub two-1</li>
    <li><a href="link">Sub two-2</li>
  </ul>
</div>

Jクエリ:

var checkCookie = $.cookie("nav-item");
if (checkCookie != "") {
  $('.left-nav > ul > li > a:eq('+ checkCookie +')').parent().parent().show();
} else {
  $('.left-nav > ul > li > a:eq('+ 0 +')').parent().parent().show();
}

$('.left-nav > ul > li > a').click(function (){
  var navIndex = $('.left-nav > ul > li > a').index(this);
  $.cookie("nav-item", navIndex);
  $('.left-nav > ul > li > a').removeClass('active');
  $(this).addClass('active');
});
4

1 に答える 1

0

これを試して:

var myCookie = document.cookie;

$("h3").click(function(){
   var myIndex = $(this).index();
   myCookie = "menuActive="+myIndex;
});

//Read which menu its active

var thisCookie = myCookie.split("menuActive=");
var cookieData = thisCookie[1];
var cookieResult = unescape(cookieData);

$("left-nav ul").hide();
$("left-nav ul").eq(cookieResult).show();
于 2012-08-19T01:47:56.367 に答える