Добавил к коду запоминание состояния панелей в куки:
При клике на элемент управления вначале проверяем есть ли кука,
если нет - создаем массив с состояниями когда все блоки открыты,
если есть, читаем строку из нее и далее функцией .split() формируем
из строки массив.
Учитываем что элемент массива: имя блока уменьшенное на единицу.
Обращаемся к родительскому блоку, данного элемента управления
Если у этого блока стоит соответствующий класс, т.е. блок скрыт - изменяем соответствующий элемент массива на 1 - блок открыт. В противном случае 0 - блок закрыт.
Склеиваем массив обратно в строку.
Записываем строку состояний в куку.
Учитываем что элемент массива: имя блока уменьшенное на единицу.
Читаем куку в переменную.
Если кука есть формируем из ее содержимого массив и если соответствующий элемент массива равен состоянию закрытого блока (0) - добавляем соответствующему блоку класс с оформлением для закрытого блока.
function setState (blockName) {
$('#inset_header'+blockName).click(function() {
var blockStateCookie = $.cookie('blockState');
if (blockStateCookie == null) var blockState = [1, 1, 1, 1, 1];
else var blockState = blockStateCookie.split('');
var arrEl = blockName-1;
if ($(this).parent().is('.hide')) blockState [arrEl] = 1;
else blockState [arrEl] = 0;
var blockStateCookie = blockState.join('');
$.cookie('blockState', blockStateCookie, { expires: 10000, path: '/' });
});
};
function restoreState (blockName) {
var arrEl = blockName-1,
blockStateCookie = $.cookie('blockState');
if (blockStateCookie != null) {
blockState = blockStateCookie.split('');
if (blockState [arrEl] == 0) {
$('#inset_header'+blockName).addClass('hide');
}
}
};
restoreState ('1'); setState ('1');
restoreState ('2'); setState ('2');
restoreState ('3'); setState ('3');
restoreState ('4'); setState ('4');
restoreState ('5'); setState ('5');
Ничего не выходит
http://jsfiddle.net/qwertylist/zfsfbbLy/13/