好的,到目前为止我的代码是这样的:
$( document ).ready(function() {
// setup the initial display on page load
var menu_state = $.cookie('atd_gridlist');
// listen for the clicks
$('.gridselect').click(function() {
$.cookie('atd_gridlist', 'grid'); // update (or set) the cookie
$(".grid").css("display", "block");
$(".list").css("display", "none");
});
$('.listselect').click(function() {
$.cookie('atd_gridlist', 'list'); // update (or set) the cookie
$(".grid").css("display", "none");
$(".list").css("display", "block");
});
});
我还需要检查是否已经设置了cookie KEY,我认为case语句可以工作,但我不知道如何让case只读取cookie atd_gridlist键值......
如果是gridselect我需要显示网格div并隐藏列表div,如果是listselect我需要它来显示列表div并隐藏网格div,如果它没有设置,我想要网格div默认加载并隐藏列表。我也想每7天过期一次。
对正确方向的任何帮助表示赞赏。谢谢!
答案 0 :(得分:0)
这样的事情会起作用吗?
$(function() {
var grid = $('.grid');
var list = $('.list');
var stateCookie = 'atd_gridlist';
var SetStateCookie = function(value) {
$.cookie(stateCookie, value, { expires: 7, path: '/' });
}
var ShowByState = function(state) {
state = state || 'grid';
SetStateCookie(state);
if ('grid' === state) {
grid.show();
list.hide();
} else if ('list' === state) {
grid.hide();
list.show();
}
}
$('.gridselect').click(function() {
ShowByState('grid');
});
$('.listselect').click(function() {
ShowByState('list');
});
ShowByState($.cookie(stateCookie));
});