使用jquery cookie记住树导航状态

时间:2013-03-05 15:16:52

标签: jquery css cookies navigation

您好我有一个由jquery驱动的基本可扩展树导航。我希望能够在用户导航到新页面时记住菜单的状态,就像它折叠回原始关闭状态一样。这是我用于树导航的jquery:

$(document).ready(function() {

$('ul li.parent').children('.closed').addClass('expand');

$(".tree_nav li a.expand").toggle(           

      function() { // START FIRST CLICK FUNCTION
          $(this).siblings('ul').slideDown()
          if ($(this).hasClass('closed')) {   
              $(this).removeClass('closed').addClass('open');
          }
      }, // END FIRST CLICK FUNCTION

      function() { // START SECOND CLICK FUNCTION
          $(this).siblings('ul').slideUp()

          if ($(this).hasClass('open')) {
              $(this).removeClass('open').addClass('closed');
          }
      } // END SECOND CLICK FUNCTIOn
); // END TOGGLE FUNCTION 
}); // END DOCUMENT READY

基本上我只是在点击一个链接并在该类上设置动画时添加一个'open'类。我需要做的就是在使用导航到新页面时记住哪些项目具有“打开”类。我相信最好的解决方案是使用我玩过的jquery cookie插件,但到目前为止我还没有成功。

非常感谢任何帮助。

干杯

2 个答案:

答案 0 :(得分:0)

默认情况下,为wp_list_pages函数添加了当前Pages的类,请参阅“类”部分的http://codex.wordpress.org/Function_Reference/wp_list_pages#Menu_Item_CSS_Classes。因此,您可以使用这些类来设置导航样式。

答案 1 :(得分:0)

在你的wp_list_pages函数中,你可以在你的页面上添加一个“开放”类。

然后在你的jQuery中使用.hasClass(“open”)来打开菜单,否则关闭它。