如何使用Jquery记住上一个状态?

如何使用Jquery记住上一个状态?,jquery,cookies,menu,Jquery,Cookies,Menu,我有一个带有子菜单的菜单,可以切换(隐藏/显示交易类型)。 有没有相对简单的方法来记住菜单的最后一个状态? (我在单击标题时隐藏/显示子菜单,并更改标题样式,以便背景箭头将更改(向上/向下))。 它工作得很好,但我希望它能记住上一个状态,所以当用户转到站点上的另一个页面并返回时,菜单显示的方式与用户离开时的方式相同。 我不太会吃饼干,所以任何帮助都将不胜感激。 是的,菜单是使用PHP从数据库动态生成的。 现在只有2个子菜单标题,但会有更多,所以我需要一些方法,可以“伸缩”任何数量的子菜单。 也没

我有一个带有子菜单的菜单,可以切换(隐藏/显示交易类型)。 有没有相对简单的方法来记住菜单的最后一个状态? (我在单击标题时隐藏/显示子菜单,并更改标题样式,以便背景箭头将更改(向上/向下))。 它工作得很好,但我希望它能记住上一个状态,所以当用户转到站点上的另一个页面并返回时,菜单显示的方式与用户离开时的方式相同。 我不太会吃饼干,所以任何帮助都将不胜感激。 是的,菜单是使用PHP从数据库动态生成的。 现在只有2个子菜单标题,但会有更多,所以我需要一些方法,可以“伸缩”任何数量的子菜单。 也没有必要记住比一次访问更长的时间

当前url为: 您可以使用

只需在隐藏、显示时设置cookie,然后在加载时根据任何cookie集设置显示的内容。您可以这样命名cookie:
“display”-this.id

如果你用
包装每个菜单,就像你用间歇泉包装一样(因此我们有一个唯一的ID来设置cookie),类似这样的东西应该可以工作:

$('h3').next('.g_menu').filter(function() {
  return $.cookie("expanded-" + $(this).parent("[id]").attr("id"));
}).hide();

$('h3').click(function(){
  $(this).toggleClass('closeit').toggleClass('openit');
  var menu = $(this).next('.g_menu');
    if(menu.is(':visible')) {
        menu.fadeOut(50);
        $.cookie("expanded-" + $(this).parent().attr("id"), true);
    } else {
        menu.fadeIn(980);            
        $.cookie("expanded-" + $(this).parent().attr("id"), null);
    }
});​
要实现此功能,请将
Other
包装在

中。您可以使用

只需在隐藏、显示时设置cookie,然后在加载时根据任何cookie集设置显示的内容。您可以这样命名cookie:
“display”-this.id

如果你用
包装每个菜单,就像你用间歇泉包装一样(因此我们有一个唯一的ID来设置cookie),类似这样的东西应该可以工作:

$('h3').next('.g_menu').filter(function() {
  return $.cookie("expanded-" + $(this).parent("[id]").attr("id"));
}).hide();

$('h3').click(function(){
  $(this).toggleClass('closeit').toggleClass('openit');
  var menu = $(this).next('.g_menu');
    if(menu.is(':visible')) {
        menu.fadeOut(50);
        $.cookie("expanded-" + $(this).parent().attr("id"), true);
    } else {
        menu.fadeIn(980);            
        $.cookie("expanded-" + $(this).parent().attr("id"), null);
    }
});​

要使此工作正常,请将
Other
包装在
中,谢谢。这很有帮助。我还添加了$('div:hidden').prev('h3').addClass('openit')$('div:visible').prev('h3').addClass('closeit');并从h3标记中删除类属性。现在看来效果不错。再次感谢,谢谢。这很有帮助。我还添加了$('div:hidden').prev('h3').addClass('openit')$('div:visible').prev('h3').addClass('closeit');并从h3标记中删除类属性。现在看来效果不错。再次感谢。