为什么我在阅读cookie值时遇到问题?

时间:2012-08-18 17:59:15

标签: jquery cookies

这是我在本网站上的第一篇期待一个好解决方案的帖子。 我已经创建了一个垂直的手风琴菜单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>

Jquery的:

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');
});

1 个答案:

答案 0 :(得分: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();