所以我使用carhartl's jQuery cookie plugin为了保持我的菜单的打开状态。但是,当我点击侧边菜单中的链接时,Cookie将被设置为,直到我点击侧边菜单上的链接并刷新页面,然后重新设置为之前设置的cookie。jQuery cookie,不保存链接点击
这仍然IF链接的默认操作被禁止,是继导航像下面的答案Setting a cookie based on the name of the link that is clicked
我的代码,设置和读取cookie
//Side menu sliding
$("#MainMenu > ul li").click(function() {
//stop sliding event for parent(s) of clicked list item
$(this).parent().click(function(e) {
e.stopPropagation();
});
//Slide up or down
$(this).children("ul").eq(0).slideToggle("fast");
$(this).toggleClass("closed");
$("#MainMenu > ul li").each(function() {
$(this).removeClass("selected");
});
$(this).addClass("selected");
// Cookies
createOpenedCookie();
createSelectedCookie();
var link = $(this).find("a").eq(0);
if (link.length > 0) {
window.location.href = $(link).attr("rel");
}
});
//selected
function createSelectedCookie() {
var selected = 0;
$("#MainMenu > ul").find("ul, li").each(function (i) {
if ($(this).hasClass("selected")) {
selected = i;
}
});
$.cookie("selected", selected, { expires: 7 });
alert(selected);
}
编辑甚至不工作:
设置超时的饼干有没有影响
编辑2:它似乎只重置为以前的cookie,如果cookie子目录(链接)不同于原始点击。这可能是一些奇怪的行为,专门用于加载/重定向C#.net页面(.cshtml扩展名)。如果我弄清楚,我会发布一个答案。
你是如何设置cookie?请添加代码。 –
@ChiMo - 你还没有显示_sets_ cookie的代码... – JAAulde
编辑,希望它澄清一点 – ChiMo