0

这是我在这个网站上的第一篇文章,期待一个好的解决方案。我已经创建了一个垂直手风琴式菜单 HTML 结构,如下所示,我想要的是当我单击任何在页面刷新时也应该处于活动状态的 ul 的子链接时,这里一切顺利,但 cookie 值我没有正确获得(在萤火虫中检查它),我正在使用 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>

查询:

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 回答