Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как сохранить выбранную категорию и стиль в cookie или в localStorage (https://javascript.ru/forum/dom-window/70194-kak-sokhranit-vybrannuyu-kategoriyu-i-stil-v-cookie-ili-v-localstorage.html)

DDim1000 18.08.2017 09:53

Как сохранить выбранную категорию и стиль в cookie или в localStorage
 
Здравствуйте!
Есть слайдиг категорий, при клике на одну из категорий, одна открывается, а остальные скрываются.

Вопрос: Как сохранить выбранную категорию вмести со стилями в cookie или в localStorage, чтоб после перезагрузки страницы, выбор категории сохранялся?
$('#block-category > ul > li > a').click(function(){
	 
	 if ($(this).attr('class') != 'active' )
	      {
		   $('#block-category > ul > li > ul').slideUp(400);
		   $(this).next().slideToggle(400);
		           $('#block-category > ul > li > a').removeClass('active');
				   $(this).addClass('active');
		   var refText = $(this).text();
				if (refText == 'Постельное белье')
				    {
					   $('#block-mens-size').hide();
	                   $('#block-womens-size').hide();
					   $('#block-all').hide();
					   $('#block-bed').show();
					}; 			     		
				if (refText == 'Одежда для Женщин')
				    {
					   $('#block-bed').hide();
                       $('#block-mens-size').hide();
					   $('#block-all').hide();
					   $('#block-womens-size').show();
					}; 
				if (refText == 'Одежда для Мужчин')
				    {	                  
					   $('#block-womens-size').hide();
					   $('#block-bed').hide();
					   $('#block-all').hide();
					   $('#block-mens-size').show();      
					}; 
			     					     		

		  }
	else
	      {
			       $('#block-category > ul > li > a').removeClass('active'); 
				   $('#block-category > ul > li > ul').slideUp(400);
				   $('#block-bed').hide();
				   $('#block-womens-size').hide();
				   $('#block-mens-size').hide();
				   $('#block-all').show();
				   $.cookie('select_cat', '');
		  };

		
	});

ksa 18.08.2017 10:13

Цитата:

Сообщение от DDim1000
Как сохранить выбранную категорию вмести со стилями в cookie или в localStorage, чтоб после перезагрузки страницы, выбор категории сохранялся?

cookie и localStorage хранят пары
<ключ>=<значение>

Где "значение" простая строка. Ты можешь сам придумать формат той строки... Или использовать формат json...

Тогда все, что тебе останется - это сформировать строку и записать ее. А потом прочитать, преобразовать в "данные", для нужных тебе, элементов и присвоить им, записанные ранее, параметры.

DDim1000 18.08.2017 10:40

Цитата:

Сообщение от ksa (Сообщение 461947)
cookie и localStorage хранят пары
<ключ>=<значение>

Где "значение" простая строка. Ты можешь сам придумать формат той строки... Или использовать формат json...

Тогда все, что тебе останется - это сформировать строку и записать ее. А потом прочитать, преобразовать в "данные", для нужных тебе, элементов и присвоить им, записанные ранее, параметры.

А как вот это записать в cookie?:
$('#block-category > ul > li > a').click(function(){
	 
	 if ($(this).attr('class') != 'active' )
	      {
		   $('#block-category > ul > li > ul').slideUp(400);
		   $(this).next().slideToggle(400);
		           $('#block-category > ul > li > a').removeClass('active');
				   $(this).addClass('active');
		 ...		
	});

setcookie('style','а здесь что, как?.....')

ksa 18.08.2017 11:21

Цитата:

Сообщение от DDim1000
А как вот это записать в cookie?

Есть мнение (с) :D
что ты не на то ставишь акцент.

Например в этом примере достаточно просто запомнить на каком элементе кликнули. А потом просто съэмулировать тот клик на этом элементе...

Т.е. саму задачку я тебе решать не стану. Суть моих сообщений такова - тебе придется сформировать некую строку или строки, которые можно записать как ключ=значение. А потом с этой информацией работать...

DDim1000 18.08.2017 12:27

Спасибо большое! Получилось!


Часовой пояс GMT +3, время: 04:03.