如何记住Jquery的最后状态?
我有一个菜单,子菜单可以切换(隐藏/显示类型交易)。 是否有一种相对简单的方法来记住菜单的最后状态? (单击标题时隐藏/显示子菜单并更改标题的样式,以便背景箭头更改(向上/向下))。 它工作正常,但我希望它记住最后一个状态,所以当用户访问网站上的另一个页面并返回时,菜单显示的方式与用户离开时相同。 我对cookies不是很好,所以任何帮助都会受到赞赏。 是的,菜单是使用PHP从db动态生成的。 现在只有2个带子菜单的标题,但会有更多,所以我需要一些对任意数量的子菜单都“可扩展”的方法。 一次访问也没有必要记住它。
目前的url是: http : //valleyofgeysers.com/geysers.php
你可以使用jQuery cookie插件
只需在隐藏,显示时设置cookie,然后在加载时设置基于任何cookie设置显示的内容。 你可以这样命名cookie: "display" - this.id
如果你用一个
包装每个菜单就像你有geysers一样(所以我们有一个唯一的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
你可以玩一个样本在这里看到这个 。